diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 507adefbc17cdf18d1b7a814630711fbaca5cf81..b4f3ffe1b3b4423211dd9f4e13e42f3d6ecbe230 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -201,6 +201,7 @@ void tcp_select_initial_window(int __space, __u32 mss, * See RFC1323 for an explanation of the limit to 14 */ space = max_t(u32, sysctl_tcp_rmem[2], sysctl_rmem_max); + space = min_t(u32, space, *window_clamp); while (space > 65535 && (*rcv_wscale) < 14) { space >>= 1; (*rcv_wscale)++;