Skip to content

Commit 87c2302

Browse files
Shiraz Saleemkuba-moo
authored andcommitted
net/mana: Null service_wq on setup error to prevent double destroy
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: f975a09 ("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>
1 parent ead0540 commit 87c2302

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/net/ethernet/microsoft/mana/gdma_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1934,6 +1934,7 @@ static int mana_gd_setup(struct pci_dev *pdev)
19341934
mana_gd_remove_irqs(pdev);
19351935
free_workqueue:
19361936
destroy_workqueue(gc->service_wq);
1937+
gc->service_wq = NULL;
19371938
dev_err(&pdev->dev, "%s failed (error %d)\n", __func__, err);
19381939
return err;
19391940
}

0 commit comments

Comments
 (0)