[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <c08bd5378da647a2a4c16698125d180a@huawei.com>
Date: Wed, 13 Nov 2024 12:40:34 +0000
From: mengkanglai <mengkanglai2@...wei.com>
To: "David S. Miller" <davem@...emloft.net>, David Ahern <dsahern@...nel.org>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, "Paolo
Abeni" <pabeni@...hat.com>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
CC: "Fengtao (fengtao, Euler)" <fengtao40@...wei.com>, "Yanan (Euler)"
<yanan@...wei.com>
Subject: kernel tcp sockets stuck in FIN_WAIT1 after call tcp_close
Hello, Eric:
Commit 151c9c724d05 (tcp: properly terminate timers for kernel sockets) introduce inet_csk_clear_xmit_timers_sync in tcp_close.
For kernel sockets it does not hold sk->sk_net_refcnt, if this is kernel tcp socket it will call tcp_send_fin in __tcp_close to send FIN packet to remotes server,
if this fin packet lost due to network faults, tcp should retransmit this fin packet, but tcp_timer stopped by inet_csk_clear_xmit_timers_sync.
tcp sockets state will stuck in FIN_WAIT1 and never go away. I think it's not right.
Best wishes!
Powered by blists - more mailing lists