stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Patch "tcp_bbr: remove sk_pacing_rate=0 transient during init" has been added to the 4.9-stable tree
@ 2017-08-08 23:30 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2017-08-08 23:30 UTC (permalink / raw)
  To: ncardwell, davem, edumazet, gregkh, soheil, ycheng; +Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    tcp_bbr: remove sk_pacing_rate=0 transient during init

to the 4.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tcp_bbr-remove-sk_pacing_rate-0-transient-during-init.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From foo@baz Tue Aug  8 16:27:53 PDT 2017
From: Neal Cardwell <ncardwell@google.com>
Date: Fri, 14 Jul 2017 17:49:24 -0400
Subject: tcp_bbr: remove sk_pacing_rate=0 transient during init

From: Neal Cardwell <ncardwell@google.com>


[ Upstream commit 1d3648eb5d1fe9ed3d095ed8fa19ad11ca4c8bc0 ]

Fix a corner case noticed by Eric Dumazet, where BBR's setting
sk->sk_pacing_rate to 0 during initialization could theoretically
cause packets in the sending host to hang if there were packets "in
flight" in the pacing infrastructure at the time the BBR congestion
control state is initialized. This could occur if the pacing
infrastructure happened to race with bbr_init() in a way such that the
pacer read the 0 rather than the immediately following non-zero pacing
rate.

Fixes: 0f8782ea1497 ("tcp_bbr: add BBR congestion control")
Reported-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 net/ipv4/tcp_bbr.c |    1 -
 1 file changed, 1 deletion(-)

--- a/net/ipv4/tcp_bbr.c
+++ b/net/ipv4/tcp_bbr.c
@@ -808,7 +808,6 @@ static void bbr_init(struct sock *sk)
 
 	minmax_reset(&bbr->bw, bbr->rtt_cnt, 0);  /* init max bw to 0 */
 
-	sk->sk_pacing_rate = 0;		/* force an update of sk_pacing_rate */
 	bbr_init_pacing_rate_from_rtt(sk);
 
 	bbr->restore_cwnd = 0;


Patches currently in stable-queue which might be from ncardwell@google.com are

queue-4.9/tcp_bbr-remove-sk_pacing_rate-0-transient-during-init.patch
queue-4.9/tcp_bbr-introduce-bbr_bw_to_pacing_rate-helper.patch
queue-4.9/tcp_bbr-introduce-bbr_init_pacing_rate_from_rtt-helper.patch
queue-4.9/tcp_bbr-init-pacing-rate-on-first-rtt-sample.patch
queue-4.9/tcp_bbr-cut-pacing-rate-only-if-filled-pipe.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-08-08 23:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-08 23:30 Patch "tcp_bbr: remove sk_pacing_rate=0 transient during init" has been added to the 4.9-stable tree gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).