Merge tag 'pull-stable-struct_fd' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull 'struct fd' updates from Al Viro: "Just the 'struct fd' layout change, with conversion to accessor helpers" * tag 'pull-stable-struct_fd' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: add struct fd constructors, get rid of __to_fd() struct fd: representation change introduce fd_file(), convert all accessors to it.
This commit is contained in:
@@ -1006,17 +1006,17 @@ static int fanotify_find_path(int dfd, const char __user *filename,
|
||||
struct fd f = fdget(dfd);
|
||||
|
||||
ret = -EBADF;
|
||||
if (!f.file)
|
||||
if (!fd_file(f))
|
||||
goto out;
|
||||
|
||||
ret = -ENOTDIR;
|
||||
if ((flags & FAN_MARK_ONLYDIR) &&
|
||||
!(S_ISDIR(file_inode(f.file)->i_mode))) {
|
||||
!(S_ISDIR(file_inode(fd_file(f))->i_mode))) {
|
||||
fdput(f);
|
||||
goto out;
|
||||
}
|
||||
|
||||
*path = f.file->f_path;
|
||||
*path = fd_file(f)->f_path;
|
||||
path_get(path);
|
||||
fdput(f);
|
||||
} else {
|
||||
@@ -1753,14 +1753,14 @@ static int do_fanotify_mark(int fanotify_fd, unsigned int flags, __u64 mask,
|
||||
}
|
||||
|
||||
f = fdget(fanotify_fd);
|
||||
if (unlikely(!f.file))
|
||||
if (unlikely(!fd_file(f)))
|
||||
return -EBADF;
|
||||
|
||||
/* verify that this is indeed an fanotify instance */
|
||||
ret = -EINVAL;
|
||||
if (unlikely(f.file->f_op != &fanotify_fops))
|
||||
if (unlikely(fd_file(f)->f_op != &fanotify_fops))
|
||||
goto fput_and_out;
|
||||
group = f.file->private_data;
|
||||
group = fd_file(f)->private_data;
|
||||
|
||||
/*
|
||||
* An unprivileged user is not allowed to setup mount nor filesystem
|
||||
|
||||
@@ -753,7 +753,7 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
|
||||
return -EINVAL;
|
||||
|
||||
f = fdget(fd);
|
||||
if (unlikely(!f.file))
|
||||
if (unlikely(!fd_file(f)))
|
||||
return -EBADF;
|
||||
|
||||
/* IN_MASK_ADD and IN_MASK_CREATE don't make sense together */
|
||||
@@ -763,7 +763,7 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
|
||||
}
|
||||
|
||||
/* verify that this is indeed an inotify instance */
|
||||
if (unlikely(f.file->f_op != &inotify_fops)) {
|
||||
if (unlikely(fd_file(f)->f_op != &inotify_fops)) {
|
||||
ret = -EINVAL;
|
||||
goto fput_and_out;
|
||||
}
|
||||
@@ -780,7 +780,7 @@ SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
|
||||
|
||||
/* inode held in place by reference to path; group by fget on fd */
|
||||
inode = path.dentry->d_inode;
|
||||
group = f.file->private_data;
|
||||
group = fd_file(f)->private_data;
|
||||
|
||||
/* create/update an inode mark */
|
||||
ret = inotify_update_watch(group, inode, mask);
|
||||
@@ -798,14 +798,14 @@ SYSCALL_DEFINE2(inotify_rm_watch, int, fd, __s32, wd)
|
||||
int ret = -EINVAL;
|
||||
|
||||
f = fdget(fd);
|
||||
if (unlikely(!f.file))
|
||||
if (unlikely(!fd_file(f)))
|
||||
return -EBADF;
|
||||
|
||||
/* verify that this is indeed an inotify instance */
|
||||
if (unlikely(f.file->f_op != &inotify_fops))
|
||||
if (unlikely(fd_file(f)->f_op != &inotify_fops))
|
||||
goto out;
|
||||
|
||||
group = f.file->private_data;
|
||||
group = fd_file(f)->private_data;
|
||||
|
||||
i_mark = inotify_idr_find(group, wd);
|
||||
if (unlikely(!i_mark))
|
||||
|
||||
Reference in New Issue
Block a user