tcp: clear tp->packets_out when purging write queue
Clear tp->packets_out when purging the write queue, otherwise tcp_rearm_rto() mistakenly assumes TCP write queue is not empty. This results in NULL pointer dereference. Also, remove the redundant `tp->packets_out = 0` from tcp_disconnect(), since tcp_disconnect() calls tcp_write_queue_purge(). Fixes: a27fd7a8 (tcp: purge write queue upon RST) Reported-by: NSubash Abhinov Kasiviswanathan <subashab@codeaurora.org> Reported-by: NSami Farin <hvtaifwkbgefbaei@gmail.com> Tested-by: NSami Farin <hvtaifwkbgefbaei@gmail.com> Signed-off-by: NEric Dumazet <edumazet@google.com> Signed-off-by: NSoheil Hassas Yeganeh <soheil@google.com> Acked-by: NYuchung Cheng <ycheng@google.com> Acked-by: NNeal Cardwell <ncardwell@google.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Showing
想要评论请 注册 或 登录