[PATCH] staging: rtl8712: Free memory and return failure when kmalloc fails

Souptick Joarder jrdr.linux at gmail.com
Tue Oct 25 16:36:48 UTC 2016


Hi Greg,


On Tue, Oct 25, 2016 at 2:33 PM, Greg KH <gregkh at linuxfoundation.org> wrote:
> On Thu, Oct 20, 2016 at 12:29:33PM +0530, Souptick Joarder wrote:
>> This patch is added to free memory and return failure when kmalloc fails
>
> I'm sorry, but I can not parse that sentance.  Can you rephrase this a
> bit better?  What exactly are you doing here?

  There are few functions where we need to free previously allocated memory
  when kmalloc fails. Else it may lead to memory leakage.
  In  _init_cmd_priv() and _r8712_init_xmit_priv() , few places we are
not freeing
  previously allocated memory  when kmalloc fails.This patch will address it.

  shall I resend the patch?

>
>>
>> Signed-off-by: Souptick joarder <jrdr.linux at gmail.com>
>> ---
>>  drivers/staging/rtl8712/os_intfs.c     | 3 ++-
>>  drivers/staging/rtl8712/rtl871x_cmd.c  | 5 ++++-
>>  drivers/staging/rtl8712/rtl871x_xmit.c | 5 ++++-
>>  3 files changed, 10 insertions(+), 3 deletions(-)
>
> Any reason why you didn't cc: the driverdevel mailing list?  I doubt
> linux-wireless cares about staging drivers :(

    My Apology. I will add driverdevel mailing list in cc.

>
>>
>> diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c
>> index cbe4de0..aab3141 100644
>> --- a/drivers/staging/rtl8712/os_intfs.c
>> +++ b/drivers/staging/rtl8712/os_intfs.c
>> @@ -313,7 +313,8 @@ u8 r8712_init_drv_sw(struct _adapter *padapter)
>>               return _FAIL;
>>       if (r8712_init_mlme_priv(padapter) == _FAIL)
>>               return _FAIL;
>> -     _r8712_init_xmit_priv(&padapter->xmitpriv, padapter);
>> +     if ((_r8712_init_xmit_priv(&padapter->xmitpriv, padapter)) != _SUCCESS)
>> +             return _FAIL;
>
> You don't have to unwind anything that r8712_init_mlme_priv() did?

  I didn't get your question?

  r8712_init_drv_sw() is getting called during initialization.
  if _r8712_init_xmit_priv() fails is it required to continue driver
initialization
  or return _FAIL similar like  previous function r8712_init_mlme_priv() ?


>
>>       _r8712_init_recv_priv(&padapter->recvpriv, padapter);
>>       memset((unsigned char *)&padapter->securitypriv, 0,
>>              sizeof(struct security_priv));
>
> thanks,
>
> greg k-h


More information about the devel mailing list