diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-08-30 12:48:53 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-09-03 23:04:45 -0400 |
commit | 173c84012a594a9ee18b63673ab760482c37ad78 (patch) | |
tree | 67f1e0e7dfef6030701cb3a3b6f751ab07e41ff0 /fs/open.c | |
parent | 7e3fb5842e2294a09fb67c41d8e3f32db5134c43 (diff) | |
download | op-kernel-dev-173c84012a594a9ee18b63673ab760482c37ad78.zip op-kernel-dev-173c84012a594a9ee18b63673ab760482c37ad78.tar.gz |
switch fchmod() to fdget
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/open.c')
-rw-r--r-- | fs/open.c | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -485,14 +485,13 @@ out_unlock: SYSCALL_DEFINE2(fchmod, unsigned int, fd, umode_t, mode) { - struct file * file; + struct fd f = fdget(fd); int err = -EBADF; - file = fget(fd); - if (file) { - audit_inode(NULL, file->f_path.dentry, 0); - err = chmod_common(&file->f_path, mode); - fput(file); + if (f.file) { + audit_inode(NULL, f.file->f_path.dentry, 0); + err = chmod_common(&f.file->f_path, mode); + fdput(f); } return err; } |