public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] net/mana: Null service_wq on setup error to prevent double destroy
@ 2026-03-09 17:24 Konstantin Taranov
  2026-03-11 17:06 ` Simon Horman
  2026-03-12  3:50 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Konstantin Taranov @ 2026-03-09 17:24 UTC (permalink / raw)
  To: shirazsaleem, kotaranov, pabeni, haiyangz, kys, edumazet, kuba,
	davem, decui, wei.liu, longli, jgg, leon
  Cc: linux-rdma, linux-kernel, netdev

From: Shiraz Saleem <shirazsaleem@microsoft.com>

In mana_gd_setup() error path, set gc->service_wq to NULL after
destroy_workqueue() to match the cleanup in mana_gd_cleanup().
This prevents a use-after-free if the workqueue pointer is checked
after a failed setup.

Fixes: f975a0955276 ("net: mana: Fix double destroy_workqueue on service rescan PCI path")
Signed-off-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
---
 drivers/net/ethernet/microsoft/mana/gdma_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
index 0055c23..e879344 100644
--- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
+++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
@@ -1934,6 +1934,7 @@ remove_irq:
 	mana_gd_remove_irqs(pdev);
 free_workqueue:
 	destroy_workqueue(gc->service_wq);
+	gc->service_wq = NULL;
 	dev_err(&pdev->dev, "%s failed (error %d)\n", __func__, err);
 	return err;
 }
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-03-12  3:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 17:24 [PATCH net] net/mana: Null service_wq on setup error to prevent double destroy Konstantin Taranov
2026-03-11 17:06 ` Simon Horman
2026-03-12  3:50 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox