[PATCH v2] drivers: net: ionic: fix a memory leak bug

Wentao Liang posted 1 patch 2 weeks, 3 days ago
drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 1 +
1 file changed, 1 insertion(+)
[PATCH v2] drivers: net: ionic: fix a memory leak bug
Posted by Wentao Liang 2 weeks, 3 days ago
From: Wentao Liang <Wentao_liang_g@163.com>

In line 334, 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() before
line 397 to release the resources before the function returns.

Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe")
Signed-off-by: Wentao Liang <liangwentao@iscas.ac.cn>
---
 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
Re: [PATCH v2] drivers: net: ionic: fix a memory leak bug
Posted by Jiri Pirko 2 weeks, 3 days ago
Regarding subject. "fix a memory leak bug" sounds just too vague. Try to
be more specific. "add missed debugfs cleanup to ionic_probe() error path"
perhaps? IDK.


Wed, Nov 06, 2024 at 09:53:07AM CET, liangwentao@iscas.ac.cn wrote:
>From: Wentao Liang <Wentao_liang_g@163.com>
>
>In line 334, 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() before
>line 397 to release the resources before the function returns.

Please don't use line numbers in patch description.


>
>Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe")
>Signed-off-by: Wentao Liang <liangwentao@iscas.ac.cn>



Code looks okay.


>---
> 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
>
>
Re: [PATCH v2] drivers: net: ionic: fix a memory leak bug
Posted by Nelson, Shannon 2 weeks, 3 days ago
On 11/6/2024 7:30 AM, Jiri Pirko wrote:
> 
> Regarding subject. "fix a memory leak bug" sounds just too vague. Try to
> be more specific. "add missed debugfs cleanup to ionic_probe() error path"
> perhaps? IDK.

Also still needs the "net" tag in the [PATCH ...]" part.
sln


> 
> 
> Wed, Nov 06, 2024 at 09:53:07AM CET, liangwentao@iscas.ac.cn wrote:
>> From: Wentao Liang <Wentao_liang_g@163.com>
>>
>> In line 334, 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() before
>> line 397 to release the resources before the function returns.
> 
> Please don't use line numbers in patch description.
> 
> 
>>
>> Fixes: 0de38d9f1dba ("ionic: extract common bits from ionic_probe")
>> Signed-off-by: Wentao Liang <liangwentao@iscas.ac.cn>
> 
> 
> 
> Code looks okay.
> 
> 
>> ---
>> 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
>>
>>