summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2010-12-16 15:57:15 +0100
committerJ. Bruce Fields <bfields@redhat.com>2010-12-17 21:48:23 +0100
commit56560b9ae0c2d07bb5bbcec16f799d7bf756d3de (patch)
treebd9174f7588607ade3c51651f8bc8ead123610e3 /fs
parentnet/sunrpc/auth_gss/gss_krb5_crypto.c: Use normal negative error value return (diff)
downloadlinux-56560b9ae0c2d07bb5bbcec16f799d7bf756d3de.tar.xz
linux-56560b9ae0c2d07bb5bbcec16f799d7bf756d3de.zip
nfsd4: 4.1 SECINFO should consume filehandle
See the referenced spec language; an attempt by a 4.1 client to use the current filehandle after a secinfo call should result in a NOFILEHANDLE error. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/nfs4proc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
index 0cdfd022bb7b..bad4bf8e4bbc 100644
--- a/fs/nfsd/nfs4proc.c
+++ b/fs/nfsd/nfs4proc.c
@@ -769,6 +769,9 @@ nfsd4_secinfo(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
} else
secinfo->si_exp = exp;
dput(dentry);
+ if (cstate->minorversion)
+ /* See rfc 5661 section 2.6.3.1.1.8 */
+ fh_put(&cstate->current_fh);
return err;
}