make compat_do_execve() static, lose pt_regs argument
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
10
fs/exec.c
10
fs/exec.c
@@ -1575,10 +1575,9 @@ int do_execve(const char *filename,
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
int compat_do_execve(const char *filename,
|
static int compat_do_execve(const char *filename,
|
||||||
const compat_uptr_t __user *__argv,
|
const compat_uptr_t __user *__argv,
|
||||||
const compat_uptr_t __user *__envp,
|
const compat_uptr_t __user *__envp)
|
||||||
struct pt_regs *regs)
|
|
||||||
{
|
{
|
||||||
struct user_arg_ptr argv = {
|
struct user_arg_ptr argv = {
|
||||||
.is_compat = true,
|
.is_compat = true,
|
||||||
@@ -1588,7 +1587,7 @@ int compat_do_execve(const char *filename,
|
|||||||
.is_compat = true,
|
.is_compat = true,
|
||||||
.ptr.compat = __envp,
|
.ptr.compat = __envp,
|
||||||
};
|
};
|
||||||
return do_execve_common(filename, argv, envp, regs);
|
return do_execve_common(filename, argv, envp, current_pt_regs());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1682,8 +1681,7 @@ asmlinkage long compat_sys_execve(const char __user * filename,
|
|||||||
struct filename *path = getname(filename);
|
struct filename *path = getname(filename);
|
||||||
int error = PTR_ERR(path);
|
int error = PTR_ERR(path);
|
||||||
if (!IS_ERR(path)) {
|
if (!IS_ERR(path)) {
|
||||||
error = compat_do_execve(path->name, argv, envp,
|
error = compat_do_execve(path->name, argv, envp);
|
||||||
current_pt_regs());
|
|
||||||
putname(path);
|
putname(path);
|
||||||
}
|
}
|
||||||
return error;
|
return error;
|
||||||
|
@@ -284,8 +284,6 @@ asmlinkage ssize_t compat_sys_pwritev(unsigned long fd,
|
|||||||
const struct compat_iovec __user *vec,
|
const struct compat_iovec __user *vec,
|
||||||
unsigned long vlen, u32 pos_low, u32 pos_high);
|
unsigned long vlen, u32 pos_low, u32 pos_high);
|
||||||
|
|
||||||
int compat_do_execve(const char *filename, const compat_uptr_t __user *argv,
|
|
||||||
const compat_uptr_t __user *envp, struct pt_regs *regs);
|
|
||||||
asmlinkage long compat_sys_execve(const char __user *filename, const compat_uptr_t __user *argv,
|
asmlinkage long compat_sys_execve(const char __user *filename, const compat_uptr_t __user *argv,
|
||||||
const compat_uptr_t __user *envp);
|
const compat_uptr_t __user *envp);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user