Eric Dumazet
ee2aabd3fc
tcp: refine tcp_write_queue_empty() implementation
...
Due to how tcp_sendmsg() is implemented, we can have an empty
skb at the tail of the write queue.
Most [1] tcp_write_queue_empty() callers want to know if there is
anything to send (payload and/or FIN)
Instead of checking if the sk_write_queue is empty, we need
to test if tp->write_seq == tp->snd_nxt
[1] tcp_send_fin() was the only caller that expected to
see if an skb was in the write queue, I have changed the code
to reuse the tcp_write_queue_tail() result.
Signed-off-by: Eric Dumazet <edumazet@google.com >
Cc: Neal Cardwell <ncardwell@google.com >
Acked-by: Soheil Hassas Yeganeh <soheil@google.com >
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com >
2019-12-13 21:58:40 -08:00
..
2019-05-21 12:33:38 -07:00
2019-11-15 23:44:47 +01:00
2019-11-26 13:20:46 -08:00
2019-06-06 08:34:50 +02:00
2019-05-30 11:26:32 -07:00
2019-05-21 11:28:45 +02:00
2019-11-01 14:57:52 -07:00
2019-12-07 11:55:11 -08:00
2019-07-05 15:01:15 -07:00
2019-07-01 06:16:40 +02:00
2019-11-21 14:45:55 -08:00
2019-06-04 19:26:49 -07:00
2019-10-04 11:10:56 -07:00
2019-10-04 11:10:56 -07:00
2019-11-07 16:14:36 -08:00
2019-10-04 11:10:56 -07:00
2019-05-21 10:50:45 +02:00
2019-12-07 11:53:27 -08:00
2019-05-30 11:26:32 -07:00
2019-11-08 12:32:43 -08:00
2019-10-04 14:26:46 -07:00
2019-11-06 16:14:48 -08:00
2019-12-13 21:40:49 -08:00
2019-08-08 15:55:10 -07:00
2019-12-13 21:40:49 -08:00
2019-05-21 10:50:45 +02:00
2019-11-07 16:15:56 -08:00
2019-09-20 18:23:33 -07:00
2019-08-08 15:55:10 -07:00
2019-11-20 22:21:30 -08:00
2019-11-21 14:45:55 -08:00
2019-06-21 18:35:51 +02:00
2019-12-07 11:55:11 -08:00
2019-05-25 11:00:50 -07:00
2019-11-21 11:47:39 -08:00
2019-06-05 17:30:29 +02:00
2019-05-30 11:26:32 -07:00
2019-07-05 15:01:15 -07:00
2019-11-20 12:39:53 -08:00
2019-07-25 17:23:40 -07:00
2019-10-04 11:10:56 -07:00
2019-11-16 21:51:42 -08:00
2019-11-21 12:00:21 -08:00
2019-05-28 21:37:30 -07:00
2019-05-21 10:50:45 +02:00
2019-01-28 11:32:58 +01:00
2019-05-21 10:50:45 +02:00
2019-11-21 11:46:18 -08:00
2019-09-13 21:44:19 +02:00
2019-06-17 20:20:36 -07:00
2019-05-30 11:26:32 -07:00
2019-07-03 11:26:35 -07:00
2019-10-01 18:42:15 +02:00
2019-11-21 14:45:55 -08:00
2019-11-07 16:17:52 -08:00
2019-11-22 16:27:24 -08:00
2019-09-27 20:37:50 +02:00
2019-05-21 10:50:45 +02:00
2019-11-28 22:40:29 -08:00
2019-05-21 10:50:45 +02:00
2019-11-20 22:23:36 -08:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2018-10-10 22:26:00 -07:00
2019-11-06 16:14:48 -08:00
2019-10-25 19:25:37 -07:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-10-25 19:25:37 -07:00
2019-12-13 21:40:49 -08:00
2019-05-21 10:50:45 +02:00
2019-05-01 11:47:54 -04:00
2019-10-13 10:13:08 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-12-13 21:58:40 -08:00
2019-05-21 10:50:45 +02:00
2018-09-21 19:37:59 -07:00
2019-05-21 10:50:45 +02:00
2019-12-03 11:52:38 -08:00
2019-11-20 22:23:36 -08:00
2019-05-21 10:50:45 +02:00
2017-11-02 11:10:55 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-12-01 14:00:59 -08:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-01-17 15:01:08 -08:00
2019-06-22 08:59:24 -04:00
2019-05-21 10:50:45 +02:00
2019-11-22 16:27:24 -08:00
2019-05-30 11:26:32 -07:00
2018-09-04 10:26:30 +02:00
2019-11-15 23:44:48 +01:00
2019-09-20 18:23:33 -07:00
2019-05-30 11:26:32 -07:00
2019-06-06 08:34:50 +02:00
2019-06-06 08:34:50 +02:00