lkml.org 
[lkml]   [2022]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] nfsd: Fix a memory leak in an error handling path
From
Date
On Fri, 2022-08-26 at 12:24 +0200, Christophe JAILLET wrote:
> If this memdup_user() call fails, the memory allocated in a previous call
> a few lines above should be freed. Otherwise it leaks.
>
> Fixes: 6ee95d1c8991 ("nfsd: add support for upcall version 2")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> Speculative, untested.
> ---
> fs/nfsd/nfs4recover.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
> index b29d27eaa8a6..248ff9f4141c 100644
> --- a/fs/nfsd/nfs4recover.c
> +++ b/fs/nfsd/nfs4recover.c
> @@ -815,8 +815,10 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
> princhash.data = memdup_user(
> &ci->cc_princhash.cp_data,
> princhashlen);
> - if (IS_ERR_OR_NULL(princhash.data))
> + if (IS_ERR_OR_NULL(princhash.data)) {
> + kfree(name.data);
> return -EFAULT;
> + }
> princhash.len = princhashlen;
> } else
> princhash.len = 0;

Reviewed-by: Jeff Layton <jlayton@kernel.org>

\
 
 \ /
  Last update: 2022-08-26 12:42    [W:0.632 / U:0.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site