mirror of https://gitee.com/openkylin/linux.git
Take ima_path_check() in nfsd past dentry_open() in nfsd_open()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
4b06e5b9ad
commit
1e41568d73
|
@ -752,6 +752,8 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, int type,
|
||||||
flags, current_cred());
|
flags, current_cred());
|
||||||
if (IS_ERR(*filp))
|
if (IS_ERR(*filp))
|
||||||
host_err = PTR_ERR(*filp);
|
host_err = PTR_ERR(*filp);
|
||||||
|
host_err = ima_path_check(&(*filp)->f_path,
|
||||||
|
access & (MAY_READ | MAY_WRITE | MAY_EXEC));
|
||||||
out_nfserr:
|
out_nfserr:
|
||||||
err = nfserrno(host_err);
|
err = nfserrno(host_err);
|
||||||
out:
|
out:
|
||||||
|
@ -2127,7 +2129,6 @@ nfsd_permission(struct svc_rqst *rqstp, struct svc_export *exp,
|
||||||
*/
|
*/
|
||||||
path.mnt = exp->ex_path.mnt;
|
path.mnt = exp->ex_path.mnt;
|
||||||
path.dentry = dentry;
|
path.dentry = dentry;
|
||||||
err = ima_path_check(&path, acc & (MAY_READ | MAY_WRITE | MAY_EXEC));
|
|
||||||
nfsd_out:
|
nfsd_out:
|
||||||
return err? nfserrno(err) : 0;
|
return err? nfserrno(err) : 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue