On Fri, Jul 29, 2016 at 9:21 AM, Neal Cardwell <ncardw...@google.com> wrote: > > On Thu, Jul 28, 2016 at 11:11 PM, Soheil Hassas Yeganeh > <soheil.k...@gmail.com> wrote: > > > > From: Soheil Hassas Yeganeh <soh...@google.com> > > > > 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. > > > > This part of the code does not have git history and as a > > result this patch does not have a `Fixes:` tag. > > > > Signed-off-by: Soheil Hassas Yeganeh <soh...@google.com> > > Suggested-by: Neal Cardwell <ncardw...@google.com> > > I think it makes sense to tag this commit with: > > Fixes: b0573dea1fb3 ("[NET]: Introduce SO_{SND,RCV}BUFFORCE socket options")
Thanks for noting the SHA1. I'll send a v2. Thanks, Soheil > ... because that's the moment at which this line of code started > failing to achieve its stated objective of setting the window scaling > factor based on the max possible window. > > And having a Fixes tag would help maintainers figure out that the > patch makes sense to apply to kernels after that commit. > > thanks, > neal