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 - 2026 Red Hat, Inc.