]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: purge write queue upon RST
authorSoheil Hassas Yeganeh <soheil@google.com>
Tue, 27 Feb 2018 23:32:18 +0000 (18:32 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Feb 2018 16:41:33 +0000 (11:41 -0500)
commitd4362d4db041b08af6cbf17e67104d0fafb9b0f0
tree031fd30979153e8a2227169e3ccf77b61c081593
parent03d131e71edab0f3e9721dbecacca0d644548d75
tcp: purge write queue upon RST

When the connection is reset, there is no point in
keeping the packets on the write queue until the connection
is closed.

RFC 793 (page 70) and RFC 793-bis (page 64) both suggest
purging the write queue upon RST:
https://tools.ietf.org/html/draft-ietf-tcpm-rfc793bis-07

Moreover, this is essential for a correct MSG_ZEROCOPY
implementation, because userspace cannot call close(fd)
before receiving zerocopy signals even when the connection
is reset.

Fixes: 4a95e07edd18 ("tcp: enable MSG_ZEROCOPY")
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c