2016-11-24 11:13:40

by Dan Carpenter

[permalink] [raw]
Subject: [patch] staging: lustre/ptlrpc: small leak on allocation failure

We should free "desc" before returning NULL.

Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/drivers/staging/lustre/lustre/ptlrpc/client.c b/drivers/staging/lustre/lustre/ptlrpc/client.c
index ac959ef..8047413 100644
--- a/drivers/staging/lustre/lustre/ptlrpc/client.c
+++ b/drivers/staging/lustre/lustre/ptlrpc/client.c
@@ -128,12 +128,12 @@ struct ptlrpc_bulk_desc *ptlrpc_new_bulk(unsigned int nfrags,
GET_KIOV(desc) = kcalloc(nfrags, sizeof(*GET_KIOV(desc)),
GFP_NOFS);
if (!GET_KIOV(desc))
- goto out;
+ goto free_desc;
} else {
GET_KVEC(desc) = kcalloc(nfrags, sizeof(*GET_KVEC(desc)),
GFP_NOFS);
if (!GET_KVEC(desc))
- goto out;
+ goto free_desc;
}

spin_lock_init(&desc->bd_lock);
@@ -154,7 +154,8 @@ struct ptlrpc_bulk_desc *ptlrpc_new_bulk(unsigned int nfrags,
LNetInvalidateHandle(&desc->bd_mds[i]);

return desc;
-out:
+free_desc:
+ kfree(desc);
return NULL;
}



2016-11-25 23:16:59

by Dilger, Andreas

[permalink] [raw]
Subject: Re: [lustre-devel] [patch] staging: lustre/ptlrpc: small leak on allocation failure

On Nov 24, 2016, at 04:12, Dan Carpenter <[email protected]> wrote:
>
> We should free "desc" before returning NULL.
>
> Signed-off-by: Dan Carpenter <[email protected]>

Reviewed-by: Andreas Dilger <[email protected]>

> diff --git a/drivers/staging/lustre/lustre/ptlrpc/client.c b/drivers/staging/lustre/lustre/ptlrpc/client.c
> index ac959ef..8047413 100644
> --- a/drivers/staging/lustre/lustre/ptlrpc/client.c
> +++ b/drivers/staging/lustre/lustre/ptlrpc/client.c
> @@ -128,12 +128,12 @@ struct ptlrpc_bulk_desc *ptlrpc_new_bulk(unsigned int nfrags,
> GET_KIOV(desc) = kcalloc(nfrags, sizeof(*GET_KIOV(desc)),
> GFP_NOFS);
> if (!GET_KIOV(desc))
> - goto out;
> + goto free_desc;
> } else {
> GET_KVEC(desc) = kcalloc(nfrags, sizeof(*GET_KVEC(desc)),
> GFP_NOFS);
> if (!GET_KVEC(desc))
> - goto out;
> + goto free_desc;
> }
>
> spin_lock_init(&desc->bd_lock);
> @@ -154,7 +154,8 @@ struct ptlrpc_bulk_desc *ptlrpc_new_bulk(unsigned int nfrags,
> LNetInvalidateHandle(&desc->bd_mds[i]);
>
> return desc;
> -out:
> +free_desc:
> + kfree(desc);
> return NULL;
> }
>
> _______________________________________________
> lustre-devel mailing list
> [email protected]
> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org