Commit 88f8598d authored by Yuchung Cheng's avatar Yuchung Cheng Committed by David S. Miller

tcp: exit if nothing to retransmit on RTO timeout

Previously TCP only warns if its RTO timer fires and the
retransmission queue is empty, but it'll cause null pointer
reference later on. It's better to avoid such catastrophic failure
and simply exit with a warning.
Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarNeal Cardwell <ncardwell@google.com>
Reviewed-by: default avatarSoheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9b420eff
...@@ -443,10 +443,8 @@ void tcp_retransmit_timer(struct sock *sk) ...@@ -443,10 +443,8 @@ void tcp_retransmit_timer(struct sock *sk)
*/ */
return; return;
} }
if (!tp->packets_out) if (!tp->packets_out || WARN_ON_ONCE(tcp_rtx_queue_empty(sk)))
goto out; return;
WARN_ON(tcp_rtx_queue_empty(sk));
tp->tlp_high_seq = 0; tp->tlp_high_seq = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment