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

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

index 841beaca217c3ef3faff43d752aae30bbac52a48..9fbb673190c3744f65a8e2bf6b944f0f5b03184c 100644 (file)
@@ -35,3 +35,4 @@ i2c-viperboard-return-message-count-on-master_xfer-success.patch
 arm-davinci-board-dm646x-evm-set-vpif-capture-card-name.patch
 parisc-move-setup_profiling_timer-out-of-init-section.patch
 arm-8753-1-decompressor-add-a-missing-parameter-to-the-addruart-macro.patch
+tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch
diff --git a/queue-3.18/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch b/queue-3.18/tcp-do-not-overshoot-window_clamp-in-tcp_rcv_space_adjust.patch
new file mode 100644 (file)
index 0000000..f86a529
--- /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
+@@ -605,7 +605,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;