From: Greg Kroah-Hartman Date: Mon, 18 Jun 2018 04:48:25 +0000 (+0200) Subject: 4.14-stable patches X-Git-Tag: v4.16.17~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=25cea924c8c9a832d87b7ebd6de7de6c67ec0d41;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch --- diff --git a/queue-4.14/series b/queue-4.14/series index 6614f203a6d..9078dbd090b 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -186,3 +186,4 @@ arm-kexec-fix-kdump-register-saving-on-panic.patch revert-btrfs-fix-scrub-to-repair-raid6-corruption.patch btrfs-fix-scrub-to-repair-raid6-corruption.patch btrfs-make-raid6-rebuild-retry-more.patch +tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch diff --git a/queue-4.14/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch b/queue-4.14/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch new file mode 100644 index 00000000000..29fc83800a9 --- /dev/null +++ b/queue-4.14/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch @@ -0,0 +1,43 @@ +From 02db55718d53f9d426cee504c27fb768e9ed4ffe Mon Sep 17 00:00:00 2001 +From: Eric Dumazet +Date: Sun, 10 Dec 2017 17:55:02 -0800 +Subject: tcp: do not overshoot window_clamp in tcp_rcv_space_adjust() + +From: Eric Dumazet + +commit 02db55718d53f9d426cee504c27fb768e9ed4ffe upstream. + +While rcvbuf is properly clamped by tcp_rmem[2], rcvwin +is left to a potentially too big value. + +It has no serious effect, since : +1) tcp_grow_window() has very strict checks. +2) window_clamp can be mangled by user space to any value anyway. + +tcp_init_buffer_space() and companions use tcp_full_space(), +we use tcp_win_from_space() to avoid reloading sk->sk_rcvbuf + +Signed-off-by: Eric Dumazet +Acked-by: Soheil Hassas Yeganeh +Acked-by: Wei Wang +Acked-by: Neal Cardwell +Signed-off-by: David S. Miller +Cc: Benjamin Gilbert +Cc: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + net/ipv4/tcp_input.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/ipv4/tcp_input.c ++++ b/net/ipv4/tcp_input.c +@@ -647,7 +647,7 @@ void tcp_rcv_space_adjust(struct sock *s + sk->sk_rcvbuf = rcvbuf; + + /* Make the window clamp follow along. */ +- tp->window_clamp = rcvwin; ++ tp->window_clamp = tcp_win_from_space(sk, rcvbuf); + } + } + tp->rcvq_space.space = copied;