All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Andrew Elble <aweits@rit.edu>
Cc: linux-nfs@vger.kernel.org, jlayton@kernel.org
Subject: Re: [PATCH] nfsd: correctly decrement odstate refcount in error path
Date: Fri, 19 Oct 2018 11:16:23 -0400	[thread overview]
Message-ID: <20181019151623.GC5613@fieldses.org> (raw)
In-Reply-To: <20181005133208.72315-1-aweits@rit.edu>

Thanks!  I guess I'll queue it up for 4.20 but also add a stable cc.

The one thing I'm not sure about is why we're freeing some things by
hand here and some in nfs4_free_deleg.  Maybe we could be more
consistent, if only I was sure what the right rule was.

Anyway, looks obviously correct.

--b.

On Fri, Oct 05, 2018 at 09:32:08AM -0400, Andrew Elble wrote:
> alloc_init_deleg() both allocates an nfs4_delegation, and
> bumps the refcount on odstate. So after this point, we need to
> put_clnt_odstate() and nfs4_put_stid() to not leave the odstate
> refcount inappropriately bumped.
> 
> Signed-off-by: Andrew Elble <aweits@rit.edu>
> ---
>  fs/nfsd/nfs4state.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 7484f04e09a2..9067bff1233d 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -4365,7 +4365,7 @@ static struct file_lock *nfs4_alloc_init_lease(struct nfs4_delegation *dp,
>  
>  	fl = nfs4_alloc_init_lease(dp, NFS4_OPEN_DELEGATE_READ);
>  	if (!fl)
> -		goto out_stid;
> +		goto out_clnt_odstate;
>  
>  	status = vfs_setlease(fp->fi_deleg_file, fl->fl_type, &fl, NULL);
>  	if (fl)
> @@ -4400,7 +4400,6 @@ static struct file_lock *nfs4_alloc_init_lease(struct nfs4_delegation *dp,
>  	vfs_setlease(fp->fi_deleg_file, F_UNLCK, NULL, (void **)&dp);
>  out_clnt_odstate:
>  	put_clnt_odstate(dp->dl_clnt_odstate);
> -out_stid:
>  	nfs4_put_stid(&dp->dl_stid);
>  out_delegees:
>  	put_deleg_file(fp);
> -- 
> 1.8.3.1

  reply	other threads:[~2018-10-19 23:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-05 13:32 [PATCH] nfsd: correctly decrement odstate refcount in error path Andrew Elble
2018-10-19 15:16 ` J. Bruce Fields [this message]
2018-10-19 15:19 ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181019151623.GC5613@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=aweits@rit.edu \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.