netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net: atlantic: fix potential memory leak in aq_ndev_close()
@ 2022-06-29 17:56 Jianglei Nie
  2022-07-01  3:19 ` Jakub Kicinski
  0 siblings, 1 reply; 9+ messages in thread
From: Jianglei Nie @ 2022-06-29 17:56 UTC (permalink / raw)
  To: irusskikh, davem, edumazet, kuba, pabeni
  Cc: netdev, linux-kernel, Jianglei Nie

If aq_nic_stop() fails, aq_ndev_close() returns err without calling
aq_nic_deinit() to release the relevant memory and resource, which
will lead to a memory leak.

We can fix it by deleting the if condition judgment and goto statement to
call aq_nic_deinit() directly after aq_nic_stop() to fix the memory leak.

Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
---
 drivers/net/ethernet/aquantia/atlantic/aq_main.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
index 88595863d8bc..362f8077ff97 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
@@ -94,8 +94,6 @@ static int aq_ndev_close(struct net_device *ndev)
 	int err = 0;
 
 	err = aq_nic_stop(aq_nic);
-	if (err < 0)
-		goto err_exit;
 	aq_nic_deinit(aq_nic, true);
 
 err_exit:
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [PATCH] net: atlantic: fix potential memory leak in aq_ndev_close()
@ 2022-07-01  6:52 Jianglei Nie
  2022-07-01 14:33 ` Francois Romieu
  0 siblings, 1 reply; 9+ messages in thread
From: Jianglei Nie @ 2022-07-01  6:52 UTC (permalink / raw)
  To: irusskikh, davem, edumazet, kuba, pabeni
  Cc: netdev, linux-kernel, Jianglei Nie

If aq_nic_stop() fails, aq_ndev_close() returns err without calling
aq_nic_deinit() to release the relevant memory and resource, which
will lead to a memory leak.

We can fix it by deleting the if condition judgment and goto statement to
call aq_nic_deinit() directly after aq_nic_stop() to fix the memory leak.

Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
---
 drivers/net/ethernet/aquantia/atlantic/aq_main.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
index 88595863d8bc..8a0af371e7dc 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
@@ -94,11 +94,8 @@ static int aq_ndev_close(struct net_device *ndev)
 	int err = 0;
 
 	err = aq_nic_stop(aq_nic);
-	if (err < 0)
-		goto err_exit;
 	aq_nic_deinit(aq_nic, true);
 
-err_exit:
 	return err;
 }
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [PATCH] net: atlantic: fix potential memory leak in aq_ndev_close()
@ 2022-09-13  6:39 Jianglei Nie
  2022-09-13 10:25 ` kernel test robot
  2022-09-13 14:29 ` kernel test robot
  0 siblings, 2 replies; 9+ messages in thread
From: Jianglei Nie @ 2022-09-13  6:39 UTC (permalink / raw)
  To: irusskikh, davem, edumazet, kuba, pabeni
  Cc: netdev, linux-kernel, Jianglei Nie

If aq_nic_stop() fails, aq_ndev_close() returns err without calling
aq_nic_deinit() to release the relevant memory and resource, which
will lead to a memory leak.

We can fix it by deleting the if condition judgment and goto statement to
call aq_nic_deinit() directly after aq_nic_stop() to fix the memory leak.

Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
---
 drivers/net/ethernet/aquantia/atlantic/aq_main.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
index 88595863d8bc..362f8077ff97 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
@@ -94,8 +94,6 @@ static int aq_ndev_close(struct net_device *ndev)
 	int err = 0;
 
 	err = aq_nic_stop(aq_nic);
-	if (err < 0)
-		goto err_exit;
 	aq_nic_deinit(aq_nic, true);
 
 err_exit:
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread
* [PATCH] net: atlantic: fix potential memory leak in aq_ndev_close()
@ 2022-09-14  1:42 Jianglei Nie
  2022-09-21 12:00 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 9+ messages in thread
From: Jianglei Nie @ 2022-09-14  1:42 UTC (permalink / raw)
  To: irusskikh, davem, edumazet, kuba, pabeni
  Cc: netdev, linux-kernel, Jianglei Nie

If aq_nic_stop() fails, aq_ndev_close() returns err without calling
aq_nic_deinit() to release the relevant memory and resource, which
will lead to a memory leak.

We can fix it by deleting the if condition judgment and goto statement to
call aq_nic_deinit() directly after aq_nic_stop() to fix the memory leak.

Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
---
 drivers/net/ethernet/aquantia/atlantic/aq_main.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
index 88595863d8bc..8a0af371e7dc 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c
@@ -94,11 +94,8 @@ static int aq_ndev_close(struct net_device *ndev)
 	int err = 0;
 
 	err = aq_nic_stop(aq_nic);
-	if (err < 0)
-		goto err_exit;
 	aq_nic_deinit(aq_nic, true);
 
-err_exit:
 	return err;
 }
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-09-21 12:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-29 17:56 [PATCH] net: atlantic: fix potential memory leak in aq_ndev_close() Jianglei Nie
2022-07-01  3:19 ` Jakub Kicinski
  -- strict thread matches above, loose matches on Subject: below --
2022-07-01  6:52 Jianglei Nie
2022-07-01 14:33 ` Francois Romieu
2022-09-13  6:39 Jianglei Nie
2022-09-13 10:25 ` kernel test robot
2022-09-13 14:29 ` kernel test robot
2022-09-14  1:42 Jianglei Nie
2022-09-21 12:00 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).