summaryrefslogtreecommitdiff
path: root/fs/nfsd/nfs4proc.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2010-12-16 09:57:15 -0500
committerJ. Bruce Fields <bfields@redhat.com>2010-12-17 15:48:23 -0500
commit56560b9ae0c2d07bb5bbcec16f799d7bf756d3de (patch)
treebd9174f7588607ade3c51651f8bc8ead123610e3 /fs/nfsd/nfs4proc.c
parentf3c0ceea83ba3741226ea04eb1804d254da2642f (diff)
downloadlinux-3.10-56560b9ae0c2d07bb5bbcec16f799d7bf756d3de.tar.gz
linux-3.10-56560b9ae0c2d07bb5bbcec16f799d7bf756d3de.tar.bz2
linux-3.10-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/nfsd/nfs4proc.c')
-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 0cdfd022bb7..bad4bf8e4bb 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;
}