]> git.karo-electronics.de Git - karo-tx-linux.git/commit
tcp: fix infinite cwnd in tcp_complete_cwr()
authorYuchung Cheng <ycheng@google.com>
Mon, 30 Apr 2012 06:00:18 +0000 (06:00 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 12 May 2012 16:32:19 +0000 (09:32 -0700)
commit28a3d46497af5da64dd88110bf03d99cf181d5f9
tree5c84ac7763af530a1f9798564539b27763927a5e
parentac931e2df86c0f7e69df21001832ad63ffe3d1c9
tcp: fix infinite cwnd in tcp_complete_cwr()

[ Upstream commit 1cebce36d660c83bd1353e41f3e66abd4686f215 ]

When the cwnd reduction is done, ssthresh may be infinite
if TCP enters CWR via ECN or F-RTO. If cwnd is not undone, i.e.,
undo_marker is set, tcp_complete_cwr() falsely set cwnd to the
infinite ssthresh value. The correct operation is to keep cwnd
intact because it has been updated in ECN or F-RTO.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/tcp_input.c