summaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2011-10-10 17:34:31 -0400
committerJ. Bruce Fields <bfields@redhat.com>2011-10-10 18:05:20 -0400
commitc30e92df30d7d5fe65262fbce5d1b7de675fe34e (patch)
treecc7c7bc1a9200de0cc2c123cd204b2fc6c6a3e14 /fs/nfsd
parentdcbf8c30344dfa01915c34f88318d464e116f004 (diff)
downloadlinux-stable-c30e92df30d7d5fe65262fbce5d1b7de675fe34e.tar.gz
linux-stable-c30e92df30d7d5fe65262fbce5d1b7de675fe34e.tar.bz2
linux-stable-c30e92df30d7d5fe65262fbce5d1b7de675fe34e.zip
nfsd4: ignore WANT bits in open downgrade
We don't use WANT bits yet--and sending them can probably trigger a BUG() further down. Cc: stable@kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 683885b18ceb..a39a542d8be5 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -3574,6 +3574,8 @@ nfsd4_open_downgrade(struct svc_rqst *rqstp,
if (!access_valid(od->od_share_access, cstate->minorversion)
|| !deny_valid(od->od_share_deny))
return nfserr_inval;
+ /* We don't yet support WANT bits: */
+ od->od_share_access &= NFS4_SHARE_ACCESS_MASK;
nfs4_lock_state();
status = nfs4_preprocess_confirmed_seqid_op(cstate, od->od_seqid,