drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 1 + 1 file changed, 1 insertion(+)
From: Wentao Liang <Wentao_liang_g@163.com>
The ionic_setup_one() creates a debugfs entry for ionic upon
successful execution. However, the ionic_probe() does not
release the dentry before returning, resulting in a memory
leak.
To fix this bug, we add the ionic_debugfs_del_dev() to release
the resources in a timely manner before returning.
Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe")
Signed-off-by: Wentao Liang <Wentao_liang_g@163.com>
---
drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
index b93791d6b593..f5dc876eb500 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
@@ -394,6 +394,7 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
err_out_pci:
ionic_dev_teardown(ionic);
ionic_clear_pci(ionic);
+ ionic_debugfs_del_dev(ionic);
err_out:
mutex_destroy(&ionic->dev_cmd_lock);
ionic_devlink_free(ionic);
--
2.42.0.windows.2
On 11/6/2024 6:17 PM, Wentao Liang wrote: > > From: Wentao Liang <Wentao_liang_g@163.com> > > The ionic_setup_one() creates a debugfs entry for ionic upon > successful execution. However, the ionic_probe() does not > release the dentry before returning, resulting in a memory > leak. > > To fix this bug, we add the ionic_debugfs_del_dev() to release > the resources in a timely manner before returning. > > Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe") > Signed-off-by: Wentao Liang <Wentao_liang_g@163.com> Thanks! -sln Acked-by: Shannon Nelson <shannon.nelson@amd.com> > --- > drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c > index b93791d6b593..f5dc876eb500 100644 > --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c > +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c > @@ -394,6 +394,7 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > err_out_pci: > ionic_dev_teardown(ionic); > ionic_clear_pci(ionic); > + ionic_debugfs_del_dev(ionic); > err_out: > mutex_destroy(&ionic->dev_cmd_lock); > ionic_devlink_free(ionic); > -- > 2.42.0.windows.2 >
On Thu, 7 Nov 2024 11:31:50 -0800 Nelson, Shannon wrote: > On 11/6/2024 6:17 PM, Wentao Liang wrote: > > > > From: Wentao Liang <Wentao_liang_g@163.com> > > > > The ionic_setup_one() creates a debugfs entry for ionic upon > > successful execution. However, the ionic_probe() does not > > release the dentry before returning, resulting in a memory > > leak. > > > > To fix this bug, we add the ionic_debugfs_del_dev() to release > > the resources in a timely manner before returning. > > > > Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe") > > Signed-off-by: Wentao Liang <Wentao_liang_g@163.com> > > Thanks! -sln > > Acked-by: Shannon Nelson <shannon.nelson@amd.com> Just in time to still make today's PR ;) This change looks fine but as a future refactoring perhaps there should be a wrapper for: ionic_dev_teardown(ionic); ionic_clear_pci(ionic); ionic_debugfs_del_dev(ionic); which pairs with ionic_setup() ?
On 11/7/2024 11:44 AM, Jakub Kicinski wrote: > > On Thu, 7 Nov 2024 11:31:50 -0800 Nelson, Shannon wrote: >> On 11/6/2024 6:17 PM, Wentao Liang wrote: >>> >>> From: Wentao Liang <Wentao_liang_g@163.com> >>> >>> The ionic_setup_one() creates a debugfs entry for ionic upon >>> successful execution. However, the ionic_probe() does not >>> release the dentry before returning, resulting in a memory >>> leak. >>> >>> To fix this bug, we add the ionic_debugfs_del_dev() to release >>> the resources in a timely manner before returning. >>> >>> Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe") >>> Signed-off-by: Wentao Liang <Wentao_liang_g@163.com> >> >> Thanks! -sln >> >> Acked-by: Shannon Nelson <shannon.nelson@amd.com> > > Just in time to still make today's PR ;) > > This change looks fine but as a future refactoring perhaps there should > be a wrapper for: > > ionic_dev_teardown(ionic); > ionic_clear_pci(ionic); > ionic_debugfs_del_dev(ionic); > > which pairs with ionic_setup() ? Thanks, we'll keep that in mind. sln
© 2016 - 2024 Red Hat, Inc.