[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190702063140.GE3054@sol.localdomain>
Date: Mon, 1 Jul 2019 23:31:40 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: Benjamin Coddington <bcodding@...hat.com>
Cc: syzbot <syzbot+7fe11b49c1cc30e3fce2@...kaller.appspotmail.com>,
anna.schumaker@...app.com, linux-kernel@...r.kernel.org,
linux-nfs@...r.kernel.org, syzkaller-bugs@...glegroups.com,
trond.myklebust@...merspace.com
Subject: Re: memory leak in nfs_get_client
On Tue, Jun 11, 2019 at 12:23:12PM -0400, Benjamin Coddington wrote:
> Ugh.. Now that you can cancel the wait, you have to also handle if "new" was
> allocated. I think this needs:
>
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index d7e4f0848e28..4d90f5bf0b0a 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -406,10 +406,10 @@ struct nfs_client *nfs_get_client(const struct
> nfs_client_initdata *cl_init)
> clp = nfs_match_client(cl_init);
> if (clp) {
> spin_unlock(&nn->nfs_client_lock);
> - if (IS_ERR(clp))
> - return clp;
> if (new)
> new->rpc_ops->free_client(new);
> + if (IS_ERR(clp))
> + return clp;
> return nfs_found_client(cl_init, clp);
> }
> if (new) {
>
> I'll patch/test and send it along.
>
> Ben
Hi Ben, what happened to this patch?
- Eric
Powered by blists - more mailing lists