summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2011-10-10 17:34:31 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-11 09:35:59 -0800
commit0dc8985b7f2da02180135396871d396f33a39b43 (patch)
tree8dc0f90279eaa04fd2b64a540b6fbd12a7d29ffc
parent279b483174560147e9f56f79e9b1fd3bd4fc8f40 (diff)
downloadlwn-0dc8985b7f2da02180135396871d396f33a39b43.tar.gz
lwn-0dc8985b7f2da02180135396871d396f33a39b43.zip
nfsd4: ignore WANT bits in open downgrade
commit c30e92df30d7d5fe65262fbce5d1b7de675fe34e upstream. We don't use WANT bits yet--and sending them can probably trigger a BUG() further down. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 3d893645cc69..ecd8152965ee 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -3421,6 +3421,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();
if ((status = nfs4_preprocess_seqid_op(cstate,