All of lore.kernel.org
 help / color / mirror / Atom feed
* [Patch Resend] infiniband:memory leak in get_skb function in file cm.c
@ 2014-06-16 17:06 ` Nicholas Krause
  0 siblings, 0 replies; 4+ messages in thread
From: Nicholas Krause @ 2014-06-16 17:06 UTC (permalink / raw)
  To: swise-ut6Up61K2wZBDgjK7y7TUQ
  Cc: roland-DgEjT+Ai2ygdnm+yROfE0A, sean.hefty-ral2JQCrhuEAvxtiuMwx3w,
	hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

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)
+	skb_kfree(skb);
+	/*NULL is ignored */
                skb = alloc_skb(len, gfp);
        }
        t4_set_arp_err_handler(skb, NULL, NULL);

--
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] 4+ messages in thread

* [Patch Resend] infiniband:memory leak in get_skb function in file cm.c
@ 2014-06-16 17:06 ` Nicholas Krause
  0 siblings, 0 replies; 4+ messages in thread
From: Nicholas Krause @ 2014-06-16 17:06 UTC (permalink / raw)
  To: swise; +Cc: roland, sean.hefty, hal.rosenstock, linux-rdma, linux-kernel

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)
+	skb_kfree(skb);
+	/*NULL is ignored */
                skb = alloc_skb(len, gfp);
        }
        t4_set_arp_err_handler(skb, NULL, NULL);


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

* Re: [Patch Resend] infiniband:memory leak in get_skb function in file cm.c
  2014-06-16 17:06 ` Nicholas Krause
@ 2014-06-16 17:08     ` Steve Wise
  -1 siblings, 0 replies; 4+ messages in thread
From: Steve Wise @ 2014-06-16 17:08 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 12:06 PM, Nicholas Krause wrote:
> 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)
> +	skb_kfree(skb);
> +	/*NULL is ignored */
>                  skb = alloc_skb(len, gfp);

This is still incorrect and the formatting is screwy.

As we discussed, you can call skb_kfree() with a NULL skb and it will 
silently ignore it.  So you don't need th 'if (!skb)'...

Perhaps you should read up more on submitting patches to get the 
formatting correct, and how to use the various tools, etc.

steve.
>          }
>          t4_set_arp_err_handler(skb, NULL, NULL);
>
> --
> 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

--
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] 4+ messages in thread

* Re: [Patch Resend] infiniband:memory leak in get_skb function in file cm.c
@ 2014-06-16 17:08     ` Steve Wise
  0 siblings, 0 replies; 4+ messages in thread
From: Steve Wise @ 2014-06-16 17:08 UTC (permalink / raw)
  To: Nicholas Krause, swise
  Cc: roland, sean.hefty, hal.rosenstock, linux-rdma, linux-kernel


On 6/16/2014 12:06 PM, Nicholas Krause wrote:
> 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)
> +	skb_kfree(skb);
> +	/*NULL is ignored */
>                  skb = alloc_skb(len, gfp);

This is still incorrect and the formatting is screwy.

As we discussed, you can call skb_kfree() with a NULL skb and it will 
silently ignore it.  So you don't need th 'if (!skb)'...

Perhaps you should read up more on submitting patches to get the 
formatting correct, and how to use the various tools, etc.

steve.
>          }
>          t4_set_arp_err_handler(skb, NULL, NULL);
>
> --
> 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


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

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

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-16 17:06 [Patch Resend] infiniband:memory leak in get_skb function in file cm.c Nicholas Krause
2014-06-16 17:06 ` Nicholas Krause
     [not found] ` <1402938381-5882-1-git-send-email-xerofoify-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-16 17:08   ` Steve Wise
2014-06-16 17:08     ` Steve Wise

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.