linux-uconsole/net
Parthasarathy Bhuvaragan afa485dc6f tipc: fix hanging clients using poll with EPOLLOUT flag
[ Upstream commit ff946833b7 ]

commit 517d7c79bd ("tipc: fix hanging poll() for stream sockets")
introduced a regression for clients using non-blocking sockets.
After the commit, we send EPOLLOUT event to the client even in
TIPC_CONNECTING state. This causes the subsequent send() to fail
with ENOTCONN, as the socket is still not in TIPC_ESTABLISHED state.

In this commit, we:
- improve the fix for hanging poll() by replacing sk_data_ready()
  with sk_state_change() to wake up all clients.
- revert the faulty updates introduced by commit 517d7c79bd
  ("tipc: fix hanging poll() for stream sockets").

Fixes: 517d7c79bd ("tipc: fix hanging poll() for stream sockets")
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@gmail.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-16 19:41:31 +02:00
..
6lowpan
9p
802
8021q vlan: disable SIOCSHWTSTAMP in container 2019-05-16 19:41:30 +02:00
appletalk
atm
ax25
batman-adv batman-adv: fix warning in function batadv_v_elp_get_throughput 2019-05-08 07:21:46 +02:00
bluetooth Bluetooth: Align minimum encryption key size for LE and BR/EDR connections 2019-05-10 17:54:11 +02:00
bpf
bpfilter
bridge bridge: Fix error path for kobject_init_and_add() 2019-05-16 19:41:29 +02:00
caif
can
ceph
core fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied 2019-05-16 19:41:29 +02:00
dcb
dccp
decnet
dns_resolver
dsa net: dsa: Fix error cleanup path in dsa_init_module 2019-05-16 19:41:29 +02:00
ethernet
hsr
ieee802154
ife
ipv4 ipv4: Fix raw socket lookup for local traffic 2019-05-16 19:41:29 +02:00
ipv6 vrf: sit mtu should not be updated when vrf netdev is the link 2019-05-16 19:41:30 +02:00
iucv
kcm
key
l2tp
l3mdev
lapb
llc
mac80211 mac80211: fix memory accounting with A-MSDU aggregation 2019-05-16 19:41:20 +02:00
mac802154
mpls
ncsi
netfilter netfilter: nf_tables: add missing ->release_ops() in error path of newrule() 2019-05-16 19:41:26 +02:00
netlabel
netlink
netrom
nfc NFC: nci: Add some bounds checking in nci_hci_cmd_received() 2019-05-16 19:41:27 +02:00
nsh
openvswitch
packet packet: Fix error path in packet_init 2019-05-16 19:41:30 +02:00
phonet
psample
qrtr
rds
rfkill
rose
rxrpc
sched
sctp sctp: avoid running the sctp state machine recursively 2019-05-05 14:42:39 +02:00
smc
strparser net: strparser: partially revert "strparser: Call skb_unclone conditionally" 2019-05-16 19:41:27 +02:00
sunrpc
switchdev
tipc tipc: fix hanging clients using poll with EPOLLOUT flag 2019-05-16 19:41:31 +02:00
tls net/tls: fix the IV leaks 2019-05-16 19:41:27 +02:00
unix
vmw_vsock
wimax
wireless nl80211: Add NL80211_FLAG_CLEAR_SKB flag for other NL commands 2019-05-16 19:41:20 +02:00
x25
xdp
xfrm
compat.c
Kconfig
Makefile
socket.c
sysctl_net.c