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: Yang Yingliang <hidden>
Date: 2021-12-01 02:41:46
Also in: lkml

Hi,

On 2021/12/1 2:57, Pavel Skripkin wrote:
On 11/30/21 06:40, Yang Yingliang wrote:
quoted
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.
The error path of rtllib_networks_allocate()  won't leak the dev.
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
I will send a v2 to fix this.

Thanks,
Yang



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