2016-03-07 10:12:04

by Sudip Mukherjee

[permalink] [raw]
Subject: [PATCH] nfsd: recover: fix memory leak

nfsd4_cltrack_grace_start() will allocate the memory for grace_start but
when we returned due to error we missed freeing it.

Signed-off-by: Sudip Mukherjee <[email protected]>
---
fs/nfsd/nfs4recover.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index 195fe26..66eaeb1 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -1266,6 +1266,7 @@ nfsd4_umh_cltrack_init(struct net *net)
/* XXX: The usermode helper s not working in container yet. */
if (net != &init_net) {
pr_warn("NFSD: attempt to initialize umh client tracking in a container ignored.\n");
+ kfree(grace_start);
return -EINVAL;
}

--
1.9.1


2016-03-14 18:46:25

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] nfsd: recover: fix memory leak

On Mon, Mar 07, 2016 at 03:40:03PM +0530, Sudip Mukherjee wrote:
> nfsd4_cltrack_grace_start() will allocate the memory for grace_start but
> when we returned due to error we missed freeing it.

Thanks, applying for 4.6.--b.

>
> Signed-off-by: Sudip Mukherjee <[email protected]>
> ---
> fs/nfsd/nfs4recover.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
> index 195fe26..66eaeb1 100644
> --- a/fs/nfsd/nfs4recover.c
> +++ b/fs/nfsd/nfs4recover.c
> @@ -1266,6 +1266,7 @@ nfsd4_umh_cltrack_init(struct net *net)
> /* XXX: The usermode helper s not working in container yet. */
> if (net != &init_net) {
> pr_warn("NFSD: attempt to initialize umh client tracking in a container ignored.\n");
> + kfree(grace_start);
> return -EINVAL;
> }
>
> --
> 1.9.1