[PATCH v2 1/2] tipc: skip socketless connections in topsrv teardown
From: Jérémy Jean
Date: Sun Oct 04 2026 - 17:02:25 EST
Kernel subscription connections have no socket but can remain in conn_idr
after unsubscribe while send work is pending.
Skip tipc_conn_close() for these entries to avoid a NULL dereference
during netns teardown.
Fixes: e88f2be83282 ("tipc: fix race condition at topology server receive")
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: LLM
Signed-off-by: Jérémy Jean <Jeremy.Jean@xxxxxxxxxxxxxxxxx>
---
net/tipc/topsrv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/tipc/topsrv.c b/net/tipc/topsrv.c
index af530c9..01dd34b 100644
--- a/net/tipc/topsrv.c
+++ b/net/tipc/topsrv.c
@@ -706,7 +706,8 @@ static void tipc_topsrv_stop(struct net *net)
if (con) {
conn_get(con);
spin_unlock_bh(&srv->idr_lock);
- tipc_conn_close(con);
+ if (con->sock)
+ tipc_conn_close(con);
conn_put(con);
spin_lock_bh(&srv->idr_lock);
}
--
2.47.3