]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Jun 2018 04:48:25 +0000 (06:48 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 18 Jun 2018 04:48:25 +0000 (06:48 +0200)
added patches:
tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch

queue-4.14/series
queue-4.14/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch [new file with mode: 0644]

index 6614f203a6df495e8e6300d5d94ec34805b1c310..9078dbd090b930669cf491fcfcad37670138ad38 100644 (file)
@@ -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 (file)
index 0000000..29fc838
--- /dev/null
@@ -0,0 +1,43 @@
+From 02db55718d53f9d426cee504c27fb768e9ed4ffe Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <edumazet@google.com>
+Date: Sun, 10 Dec 2017 17:55:02 -0800
+Subject: tcp: do not overshoot window_clamp in tcp_rcv_space_adjust()
+
+From: Eric Dumazet <edumazet@google.com>
+
+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 <edumazet@google.com>
+Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
+Acked-by: Wei Wang <weiwan@google.com>
+Acked-by: Neal Cardwell <ncardwell@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Benjamin Gilbert <benjamin.gilbert@coreos.com>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;