]> git.baikalelectronics.ru Git - kernel.git/commit
tcp_bbr: remove sk_pacing_rate=0 transient during init
authorNeal Cardwell <ncardwell@google.com>
Fri, 14 Jul 2017 21:49:24 +0000 (17:49 -0400)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Jul 2017 21:43:29 +0000 (14:43 -0700)
commit028b7e3735d1e1aff073603a8593be33b4abe782
tree1383cf659bf210514b73ce560294e2a1fe8ee1c2
parentefd452a021d1da8b10d0632122ba9cab058be8a5
tcp_bbr: remove sk_pacing_rate=0 transient during init

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: 09cd28cb0229 ("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>
net/ipv4/tcp_bbr.c