*/
 static int do_execve_common(const char *filename,
                                struct user_arg_ptr argv,
-                               struct user_arg_ptr envp,
-                               struct pt_regs *regs)
+                               struct user_arg_ptr envp)
 {
        struct linux_binprm *bprm;
        struct file *file;
        bool clear_in_exec;
        int retval;
        const struct cred *cred = current_cred();
+       struct pt_regs *regs = current_pt_regs();
 
        /*
         * We move the actual failure in case of RLIMIT_NPROC excess from
 {
        struct user_arg_ptr argv = { .ptr.native = __argv };
        struct user_arg_ptr envp = { .ptr.native = __envp };
-       return do_execve_common(filename, argv, envp, current_pt_regs());
+       return do_execve_common(filename, argv, envp);
 }
 
 #ifdef CONFIG_COMPAT
                .is_compat = true,
                .ptr.compat = __envp,
        };
-       return do_execve_common(filename, argv, envp, current_pt_regs());
+       return do_execve_common(filename, argv, envp);
 }
 #endif