diff options
| author | Namjae Jeon <linkinjeon@kernel.org> | 2026-08-20 08:26:03 +0900 |
|---|---|---|
| committer | Namjae Jeon <linkinjeon@kernel.org> | 2026-08-20 22:56:12 +0900 |
| commit | 80b6367ec37faf61fbd11aae6fae64c51faa5bba (patch) | |
| tree | 1c640a289781215d5a4a7b685ee14d4bce271c49 /scripts/stackusage | |
| parent | 56549c18a4f75309161ca780feaa4d17904e3ee9 (diff) | |
| download | linux-80b6367ec37faf61fbd11aae6fae64c51faa5bba.tar.gz linux-80b6367ec37faf61fbd11aae6fae64c51faa5bba.zip | |
ksmbd: keep TCP timers alive for kernel sockets
ksmbd creates its listening socket with sock_create_kern(). Kernel
sockets do not hold a network namespace reference by default. Accepted
sockets inherit this state.
When an accepted socket is released, tcp_close() clears its pending TCP
timers for a kernel socket after the socket enters an orphaned state. If
the peer is unreachable while ksmbd sends a FIN, this can leave a
FIN-WAIT-1 orphan without a retransmission timer.
Upgrade the listening socket's network namespace reference before
kernel_listen(). Accepted sockets inherit the reference, so the TCP
stack can keep the retransmission timer active and apply its normal
orphan retry policy.
Preserve the existing graceful shutdown behavior.
Link: https://github.com/openwrt/openwrt/issues/24744
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
