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

From: Dilger, Andreas
Date: Fri Nov 25 2016 - 18:17:09 EST


On Nov 24, 2016, at 04:12, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>
> We should free "desc" before returning NULL.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>

> 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
> lustre-devel@xxxxxxxxxxxxxxxx
> http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org