Take ima_path_check() in nfsd past dentry_open() in nfsd_open()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index c194793..325959e 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -752,6 +752,8 @@
flags, current_cred());
if (IS_ERR(*filp))
host_err = PTR_ERR(*filp);
+ host_err = ima_path_check(&(*filp)->f_path,
+ access & (MAY_READ | MAY_WRITE | MAY_EXEC));
out_nfserr:
err = nfserrno(host_err);
out:
@@ -2127,7 +2129,6 @@
*/
path.mnt = exp->ex_path.mnt;
path.dentry = dentry;
- err = ima_path_check(&path, acc & (MAY_READ | MAY_WRITE | MAY_EXEC));
nfsd_out:
return err? nfserrno(err) : 0;
}