X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=fs%2Fopen.c;h=2a731b0d08bc456af047ad58ce68c6823f7b1972;hb=c7c4591db64dbd1e504bc4e2806d7ef290a3c81b;hp=7931f76acc2beede0298747df1d505b30cd225b4;hpb=27703bb4a66df49ff16b44b864d307d2eb71774c;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git diff --git a/fs/open.c b/fs/open.c index 7931f76..2a731b0 100644 --- a/fs/open.c +++ b/fs/open.c @@ -443,7 +443,7 @@ retry: goto dput_and_out; error = -EPERM; - if (!nsown_capable(CAP_SYS_CHROOT)) + if (!ns_capable(current_user_ns(), CAP_SYS_CHROOT)) goto dput_and_out; error = security_path_chroot(&path); if (error) @@ -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; }