]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nfsd: put the export reference in nfsd4_verify_deleg_dentry
authorJeff Layton <jlayton@kernel.org>
Tue, 8 Nov 2022 16:23:11 +0000 (11:23 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Nov 2022 08:27:29 +0000 (09:27 +0100)
[ Upstream commit 50256e4793a5e5ab77703c82a47344ad2e774a59 ]

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>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfsd/nfs4state.c

index 0bc36472f8b7bb6f050a6685336fc02e3ae3e565..ddb2bf078fdaf6acd1bcec7cba139dcb7dd3ec70 100644 (file)
@@ -5313,6 +5313,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;