Thread (5 messages) flat view 5 messages, 3 authors, 23d ago
COLD23d

[PATCH net 2/2] fjes: cancel force_close_task in fjes_remove()

From: Fan Wu <hidden>
Date: 2026-08-05 01:25:03
Also in: lkml, stable
Subsystem: networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

force_close_task runs on the system workqueue, which destroy_workqueue()
does not drain, so it can run after free_netdev() and touch freed memory.
Cancel it after destroying the workqueues, before free_netdev().

This issue was found by an in-house static analysis tool.

Fixes: 658d439b2292 ("fjes: Introduce FUJITSU Extended Socket Network Device driver")
Cc: stable@vger.kernel.org
Assisted-by: Codex:gpt-5.6
Signed-off-by: Fan Wu <redacted>
---
 drivers/net/fjes/fjes_main.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/net/fjes/fjes_main.c b/drivers/net/fjes/fjes_main.c
index cddabc965..a2c77ca0d 100644
--- a/drivers/net/fjes/fjes_main.c
+++ b/drivers/net/fjes/fjes_main.c
@@ -1402,6 +1402,8 @@ static void fjes_remove(struct platform_device *plat_dev)
 	if (adapter->txrx_wq)
 		destroy_workqueue(adapter->txrx_wq);
 
+	cancel_work_sync(&adapter->force_close_task);
+
 	fjes_hw_exit(hw);
 
 	netif_napi_del(&adapter->napi);
-- 
2.34.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help