public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] infinibad: fix memory leak in function send_flowc
@ 2014-06-16 18:30 Nicholas Krause
       [not found] ` <1402943456-7532-1-git-send-email-xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 3+ messages in thread
From: Nicholas Krause @ 2014-06-16 18:30 UTC (permalink / raw)
  To: swise-ut6Up61K2wZBDgjK7y7TUQ
  Cc: roland-DgEjT+Ai2ygdnm+yROfE0A, sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

Signed-off-by: Nicholas Krause <xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/infiniband/hw/cxgb4/cm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index 5e153f6..c518411 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -455,7 +455,10 @@ static void send_flowc(struct c4iw_ep *ep, struct sk_buff *skb)
 	unsigned int flowclen = 80;
 	struct fw_flowc_wr *flowc;
 	int i;

+	if (!skb) {
+		kfree_skb();
+		pr_warn(MOD "%s failed to allocate skb.\n", __func__);
+	}
 	skb = get_skb(skb, flowclen, GFP_KERNEL);
 	flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen);
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] infinibad: fix memory leak in function send_flowc
       [not found] ` <1402943456-7532-1-git-send-email-xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-06-16 18:34   ` Steve Wise
  2014-06-16 18:46     ` Steve Wise
  0 siblings, 1 reply; 3+ messages in thread
From: Steve Wise @ 2014-06-16 18:34 UTC (permalink / raw)
  To: Nicholas Krause, swise-ut6Up61K2wZBDgjK7y7TUQ
  Cc: roland-DgEjT+Ai2ygdnm+yROfE0A, sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On 6/16/2014 1:30 PM, Nicholas Krause wrote:
> Signed-off-by: Nicholas Krause <xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>   drivers/infiniband/hw/cxgb4/cm.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index 5e153f6..c518411 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -455,7 +455,10 @@ static void send_flowc(struct c4iw_ep *ep, struct sk_buff *skb)
>   	unsigned int flowclen = 80;
>   	struct fw_flowc_wr *flowc;
>   	int i;
>
> +	if (!skb) {
> +		kfree_skb();
> +		pr_warn(MOD "%s failed to allocate skb.\n", __func__);
> +	}
>   	skb = get_skb(skb, flowclen, GFP_KERNEL);

Oops, shouldn't the if statement be after the call to get_skb()?  :) 
(you're having a bad day ;))

>   	flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen);
>   

One more nit:  The comment is no longer correct.  It should be something 
like:

iw_cxgb4: in send_flowc(), handle a null skb return from get_skb()


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH] infinibad: fix memory leak in function send_flowc
  2014-06-16 18:34   ` Steve Wise
@ 2014-06-16 18:46     ` Steve Wise
  0 siblings, 0 replies; 3+ messages in thread
From: Steve Wise @ 2014-06-16 18:46 UTC (permalink / raw)
  To: Nicholas Krause, swise@chelsio.com >> Steve Wise
  Cc: roland, sean.hefty, hal.rosenstock, linux-rdma, linux-kernel

On 6/16/2014 1:34 PM, Steve Wise wrote:
> On 6/16/2014 1:30 PM, Nicholas Krause wrote:
>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>> ---
>>   drivers/infiniband/hw/cxgb4/cm.c | 5 ++++-
>>   1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/infiniband/hw/cxgb4/cm.c 
>> b/drivers/infiniband/hw/cxgb4/cm.c
>> index 5e153f6..c518411 100644
>> --- a/drivers/infiniband/hw/cxgb4/cm.c
>> +++ b/drivers/infiniband/hw/cxgb4/cm.c
>> @@ -455,7 +455,10 @@ static void send_flowc(struct c4iw_ep *ep, 
>> struct sk_buff *skb)
>>       unsigned int flowclen = 80;
>>       struct fw_flowc_wr *flowc;
>>       int i;
>>
>> +    if (!skb) {
>> +        kfree_skb();
>> +        pr_warn(MOD "%s failed to allocate skb.\n", __func__);
>> +    }
>>       skb = get_skb(skb, flowclen, GFP_KERNEL);
>
> Oops, shouldn't the if statement be after the call to get_skb()? :) 
> (you're having a bad day ;))
>

And you don't free anything.  If get_skb() returns NULL, then log the 
warning and return.


>>       flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen);
>
> One more nit:  The comment is no longer correct.  It should be 
> something like:
>
> iw_cxgb4: in send_flowc(), handle a null skb return from get_skb()
>
>
> -- 
> To unsubscribe from this list: send the line "unsubscribe 
> linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

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

end of thread, other threads:[~2014-06-16 18:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-16 18:30 [PATCH] infinibad: fix memory leak in function send_flowc Nicholas Krause
     [not found] ` <1402943456-7532-1-git-send-email-xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-16 18:34   ` Steve Wise
2014-06-16 18:46     ` Steve Wise

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox