nfsd4: fix share mode permissions
NFSv4 opens may function as locks denying other NFSv4 users the rights to open a file. We're requiring a user to have write permissions before they can deny write. We're *not* requiring a user to have write permissions to deny read, which is if anything a more drastic denial. What was intended was to require write permissions for DENY_READ. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
864f0f61f8
commit
57ecb34feb
@ -171,7 +171,7 @@ do_open_permission(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfs
|
||||
accmode |= NFSD_MAY_READ;
|
||||
if (open->op_share_access & NFS4_SHARE_ACCESS_WRITE)
|
||||
accmode |= (NFSD_MAY_WRITE | NFSD_MAY_TRUNC);
|
||||
if (open->op_share_deny & NFS4_SHARE_DENY_WRITE)
|
||||
if (open->op_share_deny & NFS4_SHARE_DENY_READ)
|
||||
accmode |= NFSD_MAY_WRITE;
|
||||
|
||||
status = fh_verify(rqstp, current_fh, S_IFREG, accmode);
|
||||
|
Loading…
Reference in New Issue
Block a user