Xin Long
2ed49aa1a4
sctp: not allow transport timeout value less than HZ/5 for hb_timer
...
[ Upstream commit 1d88ba1ebb2763aa86172cd7ca05dedbeccc0d35 ]
syzbot reported a rcu_sched self-detected stall on CPU which is caused
by too small value set on rto_min with SCTP_RTOINFO sockopt. With this
value, hb_timer will get stuck there, as in its timer handler it starts
this timer again with this value, then goes to the timer handler again.
This problem is there since very beginning, and thanks to Eric for the
reproducer shared from a syzbot mail.
This patch fixes it by not allowing sctp_transport_timeout to return a
smaller value than HZ/5 for hb_timer, which is based on TCP's min rto.
Note that it doesn't fix this issue by limiting rto_min, as some users
are still using small rto and no proper value was found for it yet.
Reported-by: syzbot+3dcd59a1f907245f891f@syzkaller.appspotmail.com
Suggested-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-06-13 16:16:43 +02:00
..
6lowpan
6lowpan: ndisc: no overreact if no short address is available
2016-09-19 20:19:34 +02:00
9p
9p/trans_virtio: discard zero-length reply
2018-02-22 15:43:50 +01:00
802
8021q
vlan: also check phy_driver ts_info for vlan's real device
2018-04-13 19:48:34 +02:00
appletalk
appletalk: use IS_ENABLED() instead of checking for built-in or module
2016-09-10 21:19:10 -07:00
atm
net: atm: Fix potential Spectre v1
2018-05-16 10:08:44 +02:00
ax25
ax25: Fix segfault after sock connection timeout
2017-02-04 09:47:09 +01:00
batman-adv
batman-adv: fix packet loss for broadcasted DHCP packets to a server
2018-05-30 07:50:38 +02:00
bluetooth
Bluetooth: Fix connection if directed advertising and privacy is used
2018-04-20 08:21:07 +02:00
bridge
netfilter: ebtables: fix erroneous reject of last rule
2018-05-30 07:50:36 +02:00
caif
net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx
2017-07-05 14:40:14 +02:00
can
can: af_can: canfd_rcv(): replace WARN_ONCE by pr_warn_once
2018-01-31 12:55:50 +01:00
ceph
libceph: validate con->state at the top of try_write()
2018-05-01 15:13:09 -07:00
core
net: Fix untag for vlan packets without ethernet header
2018-05-30 07:50:39 +02:00
dcb
net: dcb: set error code on failures
2016-12-03 23:54:25 -05:00
dccp
dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()
2018-06-13 16:16:41 +02:00
decnet
dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock
2018-02-25 11:05:44 +01:00
dns_resolver
KEYS: DNS: limit the length of option strings
2018-04-29 11:32:00 +02:00
dsa
net: dsa: select NET_SWITCHDEV
2017-11-15 15:53:17 +01:00
ethernet
net: introduce device min_header_len
2017-02-18 15:11:43 +01:00
hsr
hsr: fix incorrect warning
2018-04-13 19:48:29 +02:00
ieee802154
net: ieee802154: fix net_device reference release too early
2018-04-13 19:48:04 +02:00
ipv4
ipv4: remove warning in ip_recv_error
2018-06-13 16:16:42 +02:00
ipv6
ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
2018-06-13 16:16:42 +02:00
ipx
ipx: call ipxitf_put() in ioctl error path
2017-05-25 15:44:41 +02:00
irda
irda: do not leak initialized list.dev to userspace
2017-08-30 10:21:42 +02:00
iucv
net/iucv: Free memory obtained by kzalloc
2018-03-31 18:11:34 +02:00
kcm
kcm: Fix use-after-free caused by clonned sockets
2018-06-13 16:16:42 +02:00
key
af_key: Fix slab-out-of-bounds in pfkey_compile_policy.
2018-04-13 19:47:51 +02:00
l2tp
l2tp: revert "l2tp: fix missing print session offset info"
2018-05-19 10:27:00 +02:00
l3mdev
net: ipv6: Remove l3mdev_get_saddr6
2016-09-10 23:12:53 -07:00
lapb
net/lapb: tuse %*ph to dump buffers
2016-05-29 22:33:25 -07:00
llc
llc: properly handle dev_queue_xmit() return value
2018-05-30 07:50:39 +02:00
mac80211
mac80211: drop frames with unexpected DS bits from fast-rx to slow path
2018-05-30 07:50:30 +02:00
mac802154
mac802154: use rate limited warnings for malformed frames
2016-09-19 20:19:34 +02:00
mpls
mpls, nospec: Sanitize array index in mpls_label_ok()
2018-03-11 16:21:34 +01:00
ncsi
net/ncsi: Improve HNCDSC AEN handler
2016-10-20 11:23:08 -04:00
netfilter
netfilter: nf_tables: can't fail after linking rule into active rule list
2018-05-22 16:57:57 +02:00
netlabel
netlabel: If PF_INET6, check sk_buff ip header version
2018-05-30 07:50:51 +02:00
netlink
netlink: fix uninit-value in netlink_sendmsg
2018-05-16 10:08:40 +02:00
netrom
nfc
NFC: llcp: Limit size of SDP URI
2018-05-30 07:50:28 +02:00
openvswitch
openvswitch: Remove padding from packet before L3+ conntrack processing
2018-05-30 07:50:23 +02:00
packet
packet: fix reserve calculation
2018-06-13 16:16:42 +02:00
phonet
qrtr
qrtr: add MODULE_ALIAS macro to smd
2018-05-30 07:50:32 +02:00
rds
RDS: IB: Fix null pointer issue
2018-05-30 07:50:25 +02:00
rfkill
rfkill: gpio: fix memory leak in probe error path
2018-05-16 10:08:43 +02:00
rose
rose: limit sk_filter trim to payload
2016-07-13 11:53:40 -07:00
rxrpc
rxrpc: Don't treat call aborts as conn aborts
2018-05-30 07:50:42 +02:00
sched
net_sched: fq: take care of throttled flows before reuse
2018-05-19 10:26:58 +02:00
sctp
sctp: not allow transport timeout value less than HZ/5 for hb_timer
2018-06-13 16:16:43 +02:00
strparser
strparser: Fix incorrect strp->need_bytes value.
2018-04-29 11:32:02 +02:00
sunrpc
rpc_pipefs: fix double-dput()
2018-04-24 09:34:17 +02:00
switchdev
switchdev: Execute bridge ndos only for bridge ports
2016-10-19 10:58:04 -04:00
tipc
tipc: add policy for TIPC_NLA_NET_ADDR
2018-04-29 11:32:01 +02:00
unix
net/unix: don't show information about sockets from other namespaces
2017-11-18 11:22:22 +01:00
vmw_vsock
vsock: cancel packets when failing to connect
2017-12-25 14:23:38 +01:00
wimax
wireless
cfg80211: limit wiphy names to 128 bytes
2018-05-25 16:12:59 +02:00
x25
net: x25: fix one potential use-after-free issue
2018-04-13 19:48:00 +02:00
xfrm
xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
2018-05-19 10:27:00 +02:00
compat.c
net: support compat 64-bit time in {s,g}etsockopt
2018-05-19 10:26:58 +02:00
Kconfig
strparser: Stream parser for messages
2016-08-17 19:36:23 -04:00
Makefile
strparser: Stream parser for messages
2016-08-17 19:36:23 -04:00
socket.c
bpf: introduce BPF_JIT_ALWAYS_ON config
2018-01-31 12:55:56 +01:00
sysctl_net.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2016-10-06 09:52:23 -07:00