Patch "tcp: consider recv buf for the initial window scale" has been added to the 4.6-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
tcp: consider recv buf for the initial window scale
to the 4.6-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-consider-recv-buf-for-the-initial-window-scale.patch
and it can be found in the queue-4.6 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 Fri Aug 12 09:34:33 CEST 2016
From: Soheil Hassas Yeganeh <[email protected]>
Date: Fri, 29 Jul 2016 09:34:02 -0400
Subject: tcp: consider recv buf for the initial window scale
From: Soheil Hassas Yeganeh <[email protected]>
[ Upstream commit f626300a3e776ccc9671b0dd94698fb3aa315966 ]
tcp_select_initial_window() intends to advertise a window scaling for the maximum possible window size. To do so, it considers the maximum of net.ipv4.tcp_rmem[2] and net.core.rmem_max as the only possible upper-bounds. However, users with CAP_NET_ADMIN can use SO_RCVBUFFORCE to set the socket's receive buffer size to values larger than net.ipv4.tcp_rmem[2] and net.core.rmem_max. Thus, SO_RCVBUFFORCE is effectively ignored by tcp_select_initial_window().
To fix this, consider the maximum of net.ipv4.tcp_rmem[2], net.core.rmem_max and socket's initial buffer space.
--- net/ipv4/tcp_output.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
net/ipv4/tcp_output.c +2 -1
@@ -236,7 +236,8 @@ void tcp_select_initial_window(int __spa/* Set window scaling on max possible window * See RFC1323 for an explanation of the limit to 14 */ - space =max_t (u32, sysctl_tcp_rmem[2 ], sysctl_rmem_max); + space =max_t (u32, space, sysctl_tcp_rmem[2 ]); + space =max_t (u32, space, sysctl_rmem_max); space =min_t (u32, space, *window_clamp);while (space >65535 && (*rcv_wscale) <14 ) { space >>=1 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.6/tcp-consider-recv-buf-for-the-initial-window-scale.patch