switch fchmod() to fdget

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-08-30 12:48:53 -04:00
parent 7e3fb5842e
commit 173c84012a

View file

@ -485,14 +485,13 @@ out_unlock:
SYSCALL_DEFINE2(fchmod, unsigned int, fd, umode_t, mode) SYSCALL_DEFINE2(fchmod, unsigned int, fd, umode_t, mode)
{ {
struct file * file; struct fd f = fdget(fd);
int err = -EBADF; int err = -EBADF;
file = fget(fd); if (f.file) {
if (file) { audit_inode(NULL, f.file->f_path.dentry, 0);
audit_inode(NULL, file->f_path.dentry, 0); err = chmod_common(&f.file->f_path, mode);
err = chmod_common(&file->f_path, mode); fdput(f);
fput(file);
} }
return err; return err;
} }