diff mbox

[PATCHv4] Checks for Null value in function *get_skub

Message ID CAPDOMVjd9J=Kz4d88==UsbfjH13mhGzzmbc2NnxSOfqJs_aGpQ@mail.gmail.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Nick June 16, 2014, 3:37 p.m. UTC
Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---
 drivers/infiniband/hw/cxgb4/
cm.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

> On 6/16/2014 10:25 AM, Nicholas Krause wrote:
>>
>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>> ---
>>   drivers/infiniband/hw/cxgb4/cm.c | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/infiniband/hw/cxgb4/cm.c
>> b/drivers/infiniband/hw/cxgb4/cm.c
>> index f9477e2..2d56983 100644
>> --- a/drivers/infiniband/hw/cxgb4/cm.c
>> +++ b/drivers/infiniband/hw/cxgb4/cm.c
>> @@ -340,15 +340,13 @@ static int status2errno(int status)
>>    */
>>   static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
>>   {
>>   if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
>>                  skb_trim(skb, 0);
>>                  skb_get(skb);
>>                  skb_reset_transport_header(skb);
>>         } else {
>> +               if (skb)
>> +                       kfree_skb (skb);
>>                 skb = alloc_skb(len, gfp);
>>         }
>>         t4_set_arp_err_handler(skb, NULL, NULL);
>
>
> Can you change the comment?  This patch is now fixing a potential skb leak.
> Also, kfree_sb() will ignore NULL ptrs, so we could just always call it.
> But I'd add a comment like /* NULL is ignored */.
>
> Thanks,
>
> Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Nick June 16, 2014, 3:45 p.m. UTC | #1
Can we close this bug or is it still a issue as we can'
return NULL from kfree or kfree_skb. Here is the bug
ID 44631 I would close it if we are done with the bug
otherwise I think there are no other issues with
allocating a skb,
Cheers Nick

On Mon, Jun 16, 2014 at 11:37 AM, Nick Krause <xerofoify@gmail.com> wrote:
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
>  drivers/infiniband/hw/cxgb4/
> cm.c | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index f9477e2..2d56983 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -340,15 +340,13 @@ static int status2errno(int status)
>   */
>  static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
>  {
>  if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
>                 skb_trim(skb, 0);
>                 skb_get(skb);
>                 skb_reset_transport_header(skb);
>         } else {
> +               if (skb)
> /* NULL is ignored */.
> +                       kfree_skb (skb);
>                 skb = alloc_skb(len, gfp);
>         }
>         t4_set_arp_err_handler(skb, NULL, NULL);
>
> On Mon, Jun 16, 2014 at 11:30 AM, Steve Wise
> <swise@opengridcomputing.com> wrote:
>> On 6/16/2014 10:25 AM, Nicholas Krause wrote:
>>>
>>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>>> ---
>>>   drivers/infiniband/hw/cxgb4/cm.c | 8 +++-----
>>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/infiniband/hw/cxgb4/cm.c
>>> b/drivers/infiniband/hw/cxgb4/cm.c
>>> index f9477e2..2d56983 100644
>>> --- a/drivers/infiniband/hw/cxgb4/cm.c
>>> +++ b/drivers/infiniband/hw/cxgb4/cm.c
>>> @@ -340,15 +340,13 @@ static int status2errno(int status)
>>>    */
>>>   static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
>>>   {
>>>   if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
>>>                  skb_trim(skb, 0);
>>>                  skb_get(skb);
>>>                  skb_reset_transport_header(skb);
>>>         } else {
>>> +               if (skb)
>>> +                       kfree_skb (skb);
>>>                 skb = alloc_skb(len, gfp);
>>>         }
>>>         t4_set_arp_err_handler(skb, NULL, NULL);
>>
>>
>> Can you change the comment?  This patch is now fixing a potential skb leak.
>> Also, kfree_sb() will ignore NULL ptrs, so we could just always call it.
>> But I'd add a comment like /* NULL is ignored */.
>>
>> Thanks,
>>
>> Steve.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Levente Kurusa June 16, 2014, 3:45 p.m. UTC | #2
On 06/16/2014 05:37 PM, Nick Krause wrote:
> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
> ---
>   drivers/infiniband/hw/cxgb4/
> cm.c | 8 +++-----
>   1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index f9477e2..2d56983 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -340,15 +340,13 @@ static int status2errno(int status)
>    */
>   static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
>   {
>   if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
>                  skb_trim(skb, 0);
>                  skb_get(skb);
>                  skb_reset_transport_header(skb);
>          } else {
> +               if (skb)
> /* NULL is ignored */.
> +                       kfree_skb (skb);
>                  skb = alloc_skb(len, gfp);
>          }
>          t4_set_arp_err_handler(skb, NULL, NULL);

This patch is severely whitespace damaged. Can you fix your MUA
or try to use git-send-email?

The changelog as well is of low quality. Maybe something like this:

infiniband: cxgb4: fix memory skb memory leak

... would be better.

Also, this fails the build, due to the extra dot character after
the comment. :-(

Thanks,
     Levente Kurusa.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Nick June 16, 2014, 4:32 p.m. UTC | #3
Hey Guys ,
It states tot run cleanfile or cleanpatch script but it doesn't work
how do I run these scripts.
Thanks Nick

On Mon, Jun 16, 2014 at 11:45 AM, Levente Kurusa <levex@linux.com> wrote:
> On 06/16/2014 05:37 PM, Nick Krause wrote:
>>
>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>> ---
>>   drivers/infiniband/hw/cxgb4/
>> cm.c | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/infiniband/hw/cxgb4/cm.c
>> b/drivers/infiniband/hw/cxgb4/cm.c
>> index f9477e2..2d56983 100644
>> --- a/drivers/infiniband/hw/cxgb4/cm.c
>> +++ b/drivers/infiniband/hw/cxgb4/cm.c
>> @@ -340,15 +340,13 @@ static int status2errno(int status)
>>    */
>>   static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
>>   {
>>   if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
>>                  skb_trim(skb, 0);
>>                  skb_get(skb);
>>                  skb_reset_transport_header(skb);
>>          } else {
>> +               if (skb)
>> /* NULL is ignored */.
>> +                       kfree_skb (skb);
>>                  skb = alloc_skb(len, gfp);
>>          }
>>          t4_set_arp_err_handler(skb, NULL, NULL);
>
>
> This patch is severely whitespace damaged. Can you fix your MUA
> or try to use git-send-email?
>
> The changelog as well is of low quality. Maybe something like this:
>
> infiniband: cxgb4: fix memory skb memory leak
>
> ... would be better.
>
> Also, this fails the build, due to the extra dot character after
> the comment. :-(
>
> Thanks,
>     Levente Kurusa.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Wise June 16, 2014, 4:37 p.m. UTC | #4
On 6/16/2014 10:45 AM, Levente Kurusa wrote:
> On 06/16/2014 05:37 PM, Nick Krause wrote:
>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>> ---
>>   drivers/infiniband/hw/cxgb4/
>> cm.c | 8 +++-----
>>   1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/infiniband/hw/cxgb4/cm.c 
>> b/drivers/infiniband/hw/cxgb4/cm.c
>> index f9477e2..2d56983 100644
>> --- a/drivers/infiniband/hw/cxgb4/cm.c
>> +++ b/drivers/infiniband/hw/cxgb4/cm.c
>> @@ -340,15 +340,13 @@ static int status2errno(int status)
>>    */
>>   static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t 
>> gfp)
>>   {
>>   if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
>>                  skb_trim(skb, 0);
>>                  skb_get(skb);
>>                  skb_reset_transport_header(skb);
>>          } else {
>> +               if (skb)
>> /* NULL is ignored */.
>> +                       kfree_skb (skb);
>>                  skb = alloc_skb(len, gfp);
>>          }
>>          t4_set_arp_err_handler(skb, NULL, NULL);
>
> This patch is severely whitespace damaged. Can you fix your MUA
> or try to use git-send-email?
>
> The changelog as well is of low quality. Maybe something like this:
>
> infiniband: cxgb4: fix memory skb memory leak
>
> ... would be better.
>
> Also, this fails the build, due to the extra dot character after
> the comment. :-(
>

Agreed.  Start over with this patch,  do what we asked, and make sure it 
passes checkpatch...


> Thanks,
>     Levente Kurusa.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Steve Wise June 16, 2014, 5:18 p.m. UTC | #5
On 6/16/2014 10:45 AM, Nick Krause wrote:
> Can we close this bug or is it still a issue as we can'
> return NULL from kfree or kfree_skb. Here is the bug
> ID 44631 I would close it if we are done with the bug
> otherwise I think there are no other issues with
> allocating a skb,
>

In what database is this bug ID 44631?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index f9477e2..2d56983 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -340,15 +340,13 @@  static int status2errno(int status)
  */
 static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp)
 {
 if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) {
                skb_trim(skb, 0);
                skb_get(skb);
                skb_reset_transport_header(skb);
        } else {
+               if (skb)
/* NULL is ignored */.
+                       kfree_skb (skb);
                skb = alloc_skb(len, gfp);
        }
        t4_set_arp_err_handler(skb, NULL, NULL);

On Mon, Jun 16, 2014 at 11:30 AM, Steve Wise
<swise@opengridcomputing.com> wrote: