From 63081e608514a7d7909f9797ba42c79311ad146e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 18 Jun 2018 06:50:17 +0200 Subject: [PATCH] 4.9-stable patches added patches: tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch --- queue-4.9/series | 1 + ...window_clamp-in-tcp_rcv_space_adjust.patch | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 queue-4.9/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch diff --git a/queue-4.9/series b/queue-4.9/series index de87abba64c..ab380667a08 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -9,4 +9,5 @@ platform-x86-asus-wmi-fix-null-pointer-dereference.patch net-sonic-use-dma_mapping_error.patch net-dsa-b53-add-bcm5389-support.patch revert-btrfs-fix-scrub-to-repair-raid6-corruption.patch +tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch btrfs-make-raid6-rebuild-retry-more.patch diff --git a/queue-4.9/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch b/queue-4.9/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch new file mode 100644 index 00000000000..4acddbf1082 --- /dev/null +++ b/queue-4.9/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 +@@ -636,7 +636,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; -- 2.47.3