OSDN Git Service

bprm_fill_uid(): don't open-code file_inode()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 20 Aug 2022 15:46:10 +0000 (11:46 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 1 Sep 2022 21:44:38 +0000 (17:44 -0400)
Reviewed-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/exec.c

index f793221..c186712 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1595,7 +1595,7 @@ static void bprm_fill_uid(struct linux_binprm *bprm, struct file *file)
 {
        /* Handle suid and sgid on files */
        struct user_namespace *mnt_userns;
-       struct inode *inode;
+       struct inode *inode = file_inode(file);
        unsigned int mode;
        kuid_t uid;
        kgid_t gid;
@@ -1606,7 +1606,6 @@ static void bprm_fill_uid(struct linux_binprm *bprm, struct file *file)
        if (task_no_new_privs(current))
                return;
 
-       inode = file->f_path.dentry->d_inode;
        mode = READ_ONCE(inode->i_mode);
        if (!(mode & (S_ISUID|S_ISGID)))
                return;