[PATCH net 2/2] fjes: cancel force_close_task in fjes_remove()
Fan Wu <[email protected]> Wed, 5 Aug 2026 01:23:37 +0000
| Newsgroups | org.kernel.vger.stable,org.kernel.vger.linux-kernel,org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
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: [email protected]
Assisted-by: Codex:gpt-5.6
Signed-off-by: Fan Wu <[email protected]>
---
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