Eric Dumazet
0f9fa831ae
tcp: remove poll() flakes with FastOpen
...
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 >
2017-04-20 15:42:11 -04:00
..
2017-04-12 22:02:40 +02:00
2017-03-03 21:44:35 -08:00
2016-12-24 11:46:01 -08:00
2017-04-13 13:58:22 -04:00
2017-02-27 18:43:47 -08:00
2017-03-22 10:48:49 -07:00
2017-03-09 18:23:27 -08:00
2017-04-06 14:37:50 -07:00
2017-04-12 22:02:41 +02:00
2017-04-01 12:45:57 -07:00
2017-04-17 15:35:38 -04:00
2017-03-02 08:42:29 +01:00
2017-04-17 15:35:38 -04:00
2017-03-23 12:03:36 +01:00
2017-04-20 15:26:49 -04:00
2017-04-17 15:35:38 -04:00
2017-03-13 22:00:42 -07:00
2017-04-17 15:35:38 -04:00
2017-03-03 10:16:38 -08:00
2017-04-20 13:48:54 -04:00
2017-02-16 21:25:49 -05:00
2017-04-13 13:58:20 -04:00
2017-04-13 13:58:22 -04:00
2017-02-03 15:16:45 -05:00
2017-04-20 15:42:11 -04:00
2017-04-20 10:35:33 -04:00
2016-12-25 17:21:22 +01:00
2017-03-09 18:23:27 -08:00
2017-03-09 18:23:27 -08:00
2017-04-17 13:28:48 -04:00
2017-03-24 07:03:12 +01:00
2017-04-17 13:01:48 -04:00
2016-12-24 11:46:01 -08:00
2017-03-09 18:23:27 -08:00
2017-04-20 13:54:40 -04:00
2017-03-30 11:05:34 -07:00
2017-04-17 15:35:38 -04:00
2016-10-20 11:23:08 -04:00
2017-04-15 21:16:30 -04:00
2017-04-13 13:58:22 -04:00
2017-04-13 13:58:22 -04:00
2017-03-09 18:23:27 -08:00
2017-04-13 13:58:22 -04:00
2017-04-13 13:58:22 -04:00
2017-03-30 11:04:00 -07:00
2017-04-17 15:35:38 -04:00
2017-01-24 13:44:28 -05:00
2017-04-17 15:35:38 -04:00
2017-04-02 19:41:00 -07:00
2017-01-24 11:07:35 +01:00
2017-03-09 18:23:27 -08:00
2017-04-06 11:10:41 +01:00
2017-04-17 15:35:38 -04:00
2017-04-18 13:39:50 -04:00
2017-04-11 23:01:14 -04:00
2017-03-03 20:43:26 -08:00
2017-04-01 10:43:37 -07:00
2017-04-13 13:58:22 -04:00
2017-04-13 13:58:22 -04:00
2017-04-06 12:43:04 -07:00
2017-03-30 11:07:08 -07:00
2016-10-27 16:16:09 -04:00
2017-04-20 13:54:40 -04:00
2017-03-09 18:23:27 -08:00
2017-04-13 13:58:22 -04:00
2017-02-22 10:15:09 -08:00
2017-02-17 13:40:05 -05:00
2017-04-01 12:45:57 -07:00
2017-04-17 13:01:48 -04:00
2016-10-06 09:52:23 -07:00