Skip to contentSkip to conversation

Patch "tcp: purge write queue upon aborting the connection" has been added to the 4.15-stable tree

PATCH [email protected] 1 participant 1 message Mar 28, 2018

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

tcp: purge write queue upon aborting the connection

to the 4.15-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
tcp-purge-write-queue-upon-aborting-the-connection.patch
and it can be found in the queue-4.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Wed Mar 28 18:37:51 CEST 2018

From: Soheil Hassas Yeganeh <[email protected]>
Date: Tue, 6 Mar 2018 17:15:12 -0500
Subject: tcp: purge write queue upon aborting the connection

From: Soheil Hassas Yeganeh <[email protected]>

[ Upstream commit e05836ac07c77dd90377f8c8140bce2a44af5fe7 ]

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

Similar to a27fd7a8ed38 ('tcp: purge write queue upon RST'), this is essential for a correct MSG_ZEROCOPY implementation, because userspace cannot call close(fd) before receiving zerocopy signals even when the connection is aborted.

---
 net/ipv4/tcp.c       |    1 +
 net/ipv4/tcp_timer.c |    1 +
 2 files changed, 2 insertions(+)
net/ipv4/tcp.c +1 -0
@@ -3542,6 +3542,7 @@ int tcp_abort(struct sock *sk, int err)
 
 	bh_unlock_sock(sk);
 	local_bh_enable();
+	tcp_write_queue_purge(sk);
 	release_sock(sk);
 	return 0;
 }
net/ipv4/tcp_timer.c +1 -0
@@ -34,6 +34,7 @@ static void tcp_write_err(struct sock *s
 	sk->sk_err = sk->sk_err_soft ? : ETIMEDOUT;
 	sk->sk_error_report(sk);
 
+	tcp_write_queue_purge(sk);
 	tcp_done(sk);
 	__NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPABORTONTIMEOUT);
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.15/tcp-purge-write-queue-upon-aborting-the-connection.patch