Thread (5 messages) 5 messages, 3 authors, 2021-12-01

Re: [PATCH -next] staging: rtl8192e: rtllib_module: fix missing free_netdev() on error in alloc_rtllib()

From: Pavel Skripkin <hidden>
Date: 2021-11-30 18:57:28
Also in: lkml

On 11/30/21 06:40, Yang Yingliang wrote:
quoted hunk ↗ jump to hunk
Add the missing free_netdev() before return from alloc_rtllib()
in the error handling case.

Signed-off-by: Yang Yingliang <redacted>
---
  drivers/staging/rtl8192e/rtllib_module.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8192e/rtllib_module.c b/drivers/staging/rtl8192e/rtllib_module.c
index 64d9feee1f39..18d898714c5c 100644
--- a/drivers/staging/rtl8192e/rtllib_module.c
+++ b/drivers/staging/rtl8192e/rtllib_module.c
@@ -125,7 +125,7 @@ struct net_device *alloc_rtllib(int sizeof_priv)
  
  	ieee->pHTInfo = kzalloc(sizeof(struct rt_hi_throughput), GFP_KERNEL);
  	if (!ieee->pHTInfo)
-		return NULL;
+		goto failed;
  
  	HTUpdateDefaultSetting(ieee);
  	HTInitializeHTInfo(ieee);
Good catch!

There are 2 more possible leaks, tho. rtllib_networks_allocate() and 
rtllib_softmac_init() should be unwinded too.

For some odd reason rtllib_softmac_init() does not return an error in 
case of allocation failure, but it should be fixed. I think, it worth to 
fix whole error handling in one patch




With regards,
Pavel Skripkin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help