mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
NFSD: Replace use of NFSD_MAY_LOCK in nfsd4_lock()
NFSv4 LOCK operations should not avoid the set of authorization checks that apply to all other NFSv4 operations. Also, the "no_auth_nlm" export option should apply only to NLM LOCK requests. It's not necessary or sensible to apply it to NFSv4 LOCK operations. Instead, set no permission bits when calling fh_verify(). Subsequent stateid processing handles authorization checks. Reported-by: NeilBrown <neilb@suse.de> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
ed9887b876
commit
6640556b0c
|
|
@ -7965,11 +7965,9 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
|
|||
if (check_lock_length(lock->lk_offset, lock->lk_length))
|
||||
return nfserr_inval;
|
||||
|
||||
if ((status = fh_verify(rqstp, &cstate->current_fh,
|
||||
S_IFREG, NFSD_MAY_LOCK))) {
|
||||
dprintk("NFSD: nfsd4_lock: permission denied!\n");
|
||||
status = fh_verify(rqstp, &cstate->current_fh, S_IFREG, 0);
|
||||
if (status != nfs_ok)
|
||||
return status;
|
||||
}
|
||||
sb = cstate->current_fh.fh_dentry->d_sb;
|
||||
|
||||
if (lock->lk_is_new) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user