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

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

index de87abba64c23010dca28cb03c3824d32b7d6a50..ab380667a0809cf46cd6e48e5831f4cb4b0c20e5 100644 (file)
@@ -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 (file)
index 0000000..11d43ff
--- /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>
+Signed-off-by: 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
+@@ -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(rcvbuf);
+               }
+       }
+       tp->rcvq_space.space = copied;