Switch from file_permission() to vfs_permission() in do_path_lookup()
by filling in the vfs_lookup in nd slightly earlier.
Signed-off-by: Andreas Gruenbacher <[email protected]>
---
fs/namei.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1133,25 +1133,23 @@ static int fastcall do_path_lookup(int d
nd->lookup.path.dentry = dget(fs->pwd);
read_unlock(&fs->lock);
} else {
- struct dentry *dentry;
-
file = fget_light(dfd, &fput_needed);
retval = -EBADF;
if (!file)
goto out_fail;
- dentry = file->f_path.dentry;
+ nd->lookup.path = file->f_path;
retval = -ENOTDIR;
- if (!S_ISDIR(dentry->d_inode->i_mode))
+ if (!S_ISDIR(nd->lookup.path.dentry->d_inode->i_mode))
goto fput_fail;
- retval = file_permission(file, MAY_EXEC);
+ retval = vfs_permission(&nd->lookup, MAY_EXEC);
if (retval)
goto fput_fail;
- nd->lookup.path.mnt = mntget(file->f_path.mnt);
- nd->lookup.path.dentry = dget(dentry);
+ mntget(nd->lookup.path.mnt);
+ dget(nd->lookup.path.dentry);
fput_light(file, fput_needed);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]