diff mbox series

nfsd: put the export reference in nfsd4_verify_deleg_dentry

Message ID 20221108162311.320755-1-jlayton@kernel.org (mailing list archive)
State New, archived
Headers show
Series nfsd: put the export reference in nfsd4_verify_deleg_dentry | expand

Commit Message

Jeff Layton Nov. 8, 2022, 4:23 p.m. UTC
nfsd_lookup_dentry returns an export reference in addition to the dentry
ref. Ensure that we put it too.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2138866
Fixes: 876c553cb410 ("NFSD: verify the opened dentry after setting a delegation")
Reported-by: Yongcheng Yang <yoyang@redhat.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
 fs/nfsd/nfs4state.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Chuck Lever Nov. 8, 2022, 4:39 p.m. UTC | #1
> On Nov 8, 2022, at 11:23 AM, Jeff Layton <jlayton@kernel.org> wrote:
> 
> nfsd_lookup_dentry returns an export reference in addition to the dentry
> ref. Ensure that we put it too.
> 
> Link: https://bugzilla.redhat.com/show_bug.cgi?id=2138866
> Fixes: 876c553cb410 ("NFSD: verify the opened dentry after setting a delegation")
> Reported-by: Yongcheng Yang <yoyang@redhat.com>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>

Applied to nfsd's for-rc (-> 6.1-rc). Thank you both!


> ---
> fs/nfsd/nfs4state.c | 1 +
> 1 file changed, 1 insertion(+)
> 
> diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> index 554c4e50caf8..2ec981fd2985 100644
> --- a/fs/nfsd/nfs4state.c
> +++ b/fs/nfsd/nfs4state.c
> @@ -5407,6 +5407,7 @@ nfsd4_verify_deleg_dentry(struct nfsd4_open *open, struct nfs4_file *fp,
> 	if (err)
> 		return -EAGAIN;
> 
> +	exp_put(exp);
> 	dput(child);
> 	if (child != file_dentry(fp->fi_deleg_file->nf_file))
> 		return -EAGAIN;
> -- 
> 2.38.1
> 

--
Chuck Lever
diff mbox series

Patch

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 554c4e50caf8..2ec981fd2985 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -5407,6 +5407,7 @@  nfsd4_verify_deleg_dentry(struct nfsd4_open *open, struct nfs4_file *fp,
 	if (err)
 		return -EAGAIN;
 
+	exp_put(exp);
 	dput(child);
 	if (child != file_dentry(fp->fi_deleg_file->nf_file))
 		return -EAGAIN;