fs/exec.c: make bprm_mm_init() static
[firefly-linux-kernel-4.4.55.git] / fs / exec.c
index 18c45cac368fe3ec830c7f0c8433e5cd2db0fc2d..864c50df660af0dd46949c9e65ec92a405aff6ea 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -123,7 +123,7 @@ SYSCALL_DEFINE1(uselib, const char __user *, library)
                goto out;
 
        error = -EINVAL;
-       if (!S_ISREG(file->f_path.dentry->d_inode->i_mode))
+       if (!S_ISREG(file_inode(file)->i_mode))
                goto exit;
 
        error = -EACCES;
@@ -355,7 +355,7 @@ static bool valid_arg_len(struct linux_binprm *bprm, long len)
  * flags, permissions, and offset, so we use temporary values.  We'll update
  * them later in setup_arg_pages().
  */
-int bprm_mm_init(struct linux_binprm *bprm)
+static int bprm_mm_init(struct linux_binprm *bprm)
 {
        int err;
        struct mm_struct *mm = NULL;
@@ -434,8 +434,9 @@ static int count(struct user_arg_ptr argv, int max)
                        if (IS_ERR(p))
                                return -EFAULT;
 
-                       if (i++ >= max)
+                       if (i >= max)
                                return -E2BIG;
+                       ++i;
 
                        if (fatal_signal_pending(current))
                                return -ERESTARTNOHAND;
@@ -763,7 +764,7 @@ struct file *open_exec(const char *name)
                goto out;
 
        err = -EACCES;
-       if (!S_ISREG(file->f_path.dentry->d_inode->i_mode))
+       if (!S_ISREG(file_inode(file)->i_mode))
                goto exit;
 
        if (file->f_path.mnt->mnt_flags & MNT_NOEXEC)
@@ -1097,7 +1098,7 @@ EXPORT_SYMBOL(flush_old_exec);
 
 void would_dump(struct linux_binprm *bprm, struct file *file)
 {
-       if (inode_permission(file->f_path.dentry->d_inode, MAY_READ) < 0)
+       if (inode_permission(file_inode(file), MAY_READ) < 0)
                bprm->interp_flags |= BINPRM_FLAGS_ENFORCE_NONDUMP;
 }
 EXPORT_SYMBOL(would_dump);
@@ -1269,7 +1270,7 @@ static int check_unsafe_exec(struct linux_binprm *bprm)
 int prepare_binprm(struct linux_binprm *bprm)
 {
        umode_t mode;
-       struct inode * inode = bprm->file->f_path.dentry->d_inode;
+       struct inode * inode = file_inode(bprm->file);
        int retval;
 
        mode = inode->i_mode;