提交 756144f8 编写于 作者: A Al Viro

alpha: switch to generic sys_execve()

get rid of sys_execve() wrapper, while we are at it
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 a63c97a0
...@@ -481,6 +481,7 @@ ...@@ -481,6 +481,7 @@
#define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_OLDUMOUNT
#define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_RT_SIGSUSPEND #define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_EXECVE
/* "Conditional" syscalls. What we want is /* "Conditional" syscalls. What we want is
......
...@@ -744,15 +744,6 @@ sys_rt_sigreturn: ...@@ -744,15 +744,6 @@ sys_rt_sigreturn:
br ret_from_sys_call br ret_from_sys_call
.end sys_rt_sigreturn .end sys_rt_sigreturn
.align 4
.globl sys_execve
.ent sys_execve
sys_execve:
.prologue 0
mov $sp, $19
jmp $31, do_sys_execve
.end sys_execve
.align 4 .align 4
.globl alpha_ni_syscall .globl alpha_ni_syscall
.ent alpha_ni_syscall .ent alpha_ni_syscall
......
...@@ -381,27 +381,6 @@ dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task) ...@@ -381,27 +381,6 @@ dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task)
} }
EXPORT_SYMBOL(dump_elf_task_fp); EXPORT_SYMBOL(dump_elf_task_fp);
/*
* sys_execve() executes a new program.
*/
asmlinkage int
do_sys_execve(const char __user *ufilename,
const char __user *const __user *argv,
const char __user *const __user *envp, struct pt_regs *regs)
{
int error;
char *filename;
filename = getname(ufilename);
error = PTR_ERR(filename);
if (IS_ERR(filename))
goto out;
error = do_execve(filename, argv, envp, regs);
putname(filename);
out:
return error;
}
/* /*
* Return saved PC of a blocked thread. This assumes the frame * Return saved PC of a blocked thread. This assumes the frame
* pointer is the 6th saved long on the kernel stack and that the * pointer is the 6th saved long on the kernel stack and that the
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册