Re: [PATCH v3 8/9] dmaengine: idxd: Add missing idxd cleanup to fix memory leak in remove call
From: Dave Jiang
Date: Mon Mar 10 2025 - 11:35:21 EST
On 3/8/25 11:20 PM, Shuai Xue wrote:
> The remove call stack is missing idxd cleanup to free bitmap, ida and
> the idxd_device. Call idxd_free() helper routines to make sure we exit
> gracefully.
>
> Fixes: bfe1d56091c1 ("dmaengine: idxd: Init and probe for Intel data accelerators")
> Cc: stable@xxxxxxxxxxxxxxx
> Suggested-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
> Signed-off-by: Shuai Xue <xueshuai@xxxxxxxxxxxxxxxxx>
Reviewed-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> ---
> drivers/dma/idxd/init.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c
> index 890b2bbd2c5e..ecb8d534fac4 100644
> --- a/drivers/dma/idxd/init.c
> +++ b/drivers/dma/idxd/init.c
> @@ -1337,6 +1337,7 @@ static void idxd_remove(struct pci_dev *pdev)
> destroy_workqueue(idxd->wq);
> perfmon_pmu_remove(idxd);
> put_device(idxd_confdev(idxd));
> + idxd_free(idxd);
> }
>
> static struct pci_driver idxd_pci_driver = {