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

From: Fan Wu

Date: Tue Aug 04 2026 - 21:25:14 EST


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@xxxxxxxxxxxxxxx
Assisted-by: Codex:gpt-5.6
Signed-off-by: Fan Wu <fanwu01@xxxxxxxxxx>
---
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