Message ID | 20250309062058.58910-9-xueshuai@linux.alibaba.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | dmaengine: idxd: fix memory leak in error handling path | expand |
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@vger.kernel.org > Suggested-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> > Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > 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 = {
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 = {
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@vger.kernel.org Suggested-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com> --- drivers/dma/idxd/init.c | 1 + 1 file changed, 1 insertion(+)