Eric Dumazet
5f63431093
tcp: remove poll() flakes with FastOpen
...
[ Upstream commit 0f9fa831aecfc297b7b45d4f046759bcefcf87f0 ]
When using TCP FastOpen for an active session, we send one wakeup event
from tcp_finish_connect(), right before the data eventually contained in
the received SYNACK is queued to sk->sk_receive_queue.
This means that depending on machine load or luck, poll() users
might receive POLLOUT events instead of POLLIN|POLLOUT
To fix this, we need to move the call to sk->sk_state_change()
after the (optional) call to tcp_rcv_fastopen_synack()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-24 11:00:12 +01: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
net/8021q: create device with all possible features in wanted_features
2018-03-22 09:17:40 +01:00
appletalk
appletalk: use IS_ENABLED() instead of checking for built-in or module
2016-09-10 21:19:10 -07:00
atm
lec: use IS_ENABLED() instead of checking for built-in or module
2016-09-10 21:19:10 -07:00
ax25
ax25: Fix segfault after sock connection timeout
2017-02-04 09:47:09 +01:00
batman-adv
batman-adv: handle race condition for claims between gateways
2018-03-22 09:17:41 +01:00
bluetooth
Bluetooth: 6lowpan: fix delay work init in add_peer_chan()
2018-03-22 09:17:52 +01:00
bridge
netfilter: bridge: ebt_among: add missing match size checks
2018-03-18 11:18:53 +01: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: don't WARN() if user tries to add invalid key
2017-11-30 08:39:03 +00:00
core
net: fix race on decreasing number of TX queues
2018-03-11 16:21:31 +01:00
dcb
net: dcb: set error code on failures
2016-12-03 23:54:25 -05:00
dccp
dccp: CVE-2017-8824: use-after-free in DCCP code
2018-02-17 13:21:13 +01:00
decnet
dn_getsockoptdecnet: move nf_{get/set}sockopt outside sock lock
2018-02-25 11:05:44 +01:00
dns_resolver
KEYS: Fix race between updating and finding a negative key
2017-10-27 10:38:11 +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
net/hsr: Remove unused but set variable
2016-10-18 10:28:18 -04:00
ieee802154
Revert "net: fix percpu memory leaks"
2017-09-20 08:19:55 +02:00
ipv4
tcp: remove poll() flakes with FastOpen
2018-03-24 11:00:12 +01:00
ipv6
net: ipv6: send unsolicited NA on admin up
2018-03-24 11:00:10 +01: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/af_iucv: don't use paged skbs for TX on HiperSockets
2017-01-19 20:18:04 +01:00
kcm
kcm: Only allow TCP sockets to be attached to a KCM mux
2018-02-25 11:05:40 +01:00
key
af_key: fix buffer overread in parse_exthdrs()
2018-01-23 19:57:05 +01:00
l2tp
l2tp: cleanup l2tp_tunnel_delete calls
2017-12-20 10:07:31 +01: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
net/llc: avoid BUG_ON() in skb_orphan()
2017-02-26 11:10:50 +01:00
mac80211
mac80211: remove BUG() when interface type is invalid
2018-03-22 09:17:57 +01: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: x_tables: pack percpu counter allocations
2018-03-18 11:18:54 +01:00
netlabel
netlabel: Implement CALIPSO config functions for SMACK.
2016-06-27 15:06:18 -04:00
netlink
netlink: ensure to loop over all netns in genlmsg_multicast_allns()
2018-03-11 16:21:32 +01:00
netrom
nfc
NFC: fix device-allocation error return
2017-11-30 08:39:07 +00:00
openvswitch
openvswitch: fix the incorrect flow action alloc size
2018-02-03 17:05:37 +01:00
packet
net/packet: fix a race in packet_bind() and packet_notifier()
2017-12-16 16:25:45 +01:00
phonet
qrtr
net: qrtr: Mark 'buf' as little endian
2017-12-09 22:01:51 +01:00
rds
rds: tcp: atomically purge entries from rds_tcp_conn_list during netns delete
2018-02-25 11:05:43 +01:00
rfkill
rose
rose: limit sk_filter trim to payload
2016-07-13 11:53:40 -07:00
rxrpc
rxrpc: Fix send in rxrpc_send_data_packet()
2018-03-11 16:21:32 +01:00
sched
sched: act_csum: don't mangle TCP and UDP GSO packets
2018-03-22 09:17:42 +01:00
sctp
sctp: verify size of a new chunk in _sctp_make_chunk()
2018-03-11 16:21:34 +01:00
strparser
strparser: destroy workqueue on module exit
2017-03-22 12:43:33 +01:00
sunrpc
SUNRPC: Allow connect to return EHOSTUNREACH
2018-02-03 17:05:39 +01:00
switchdev
switchdev: Execute bridge ndos only for bridge ports
2016-10-19 10:58:04 -04:00
tipc
tipc: fix tipc_mon_delete() oops in tipc_enable_bearer() error path
2018-03-03 10:23:24 +01: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
nl80211: Check for the required netlink attribute presence
2018-03-03 10:23:26 +01:00
x25
net: x25: remove null checks on arrays calling_ae and called_ae
2016-09-09 18:13:30 -07:00
xfrm
net: xfrm: allow clearing socket xfrm policies.
2018-03-22 09:17:54 +01:00
compat.c
audit: log 32-bit socketcalls
2017-10-08 10:26:06 +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