summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorShiraz Saleem <shirazsaleem@microsoft.com>2026-03-09 10:24:43 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-03-19 16:08:21 +0100
commit59489ce60d7412ed82fb1d8002faa3102dcd4916 (patch)
treeaf6f7d8a44e96ee9f2e1a469ab175f35a6abfbe3 /drivers/net
parent103e4fedb47845703a84cd17152184b78505ee54 (diff)
net/mana: Null service_wq on setup error to prevent double destroy
[ Upstream commit 87c2302813abc55c46485711a678e3c312b00666 ] 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> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20260309172443.688392-1-kotaranov@linux.microsoft.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/microsoft/mana/gdma_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c
index e22a98a9c985..962fdd29d606 100644
--- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
+++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
@@ -1854,6 +1854,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;
}