diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-08-02 04:53:03 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-30 22:21:37 -0400 |
commit | 756144f8ea2e4fccbbf1a5644f3e1e889a48f765 (patch) | |
tree | ec40b98d02da8e5592b960a665ee67cd60e25b49 /arch/alpha | |
parent | a63c97a000c9c9a03372943a40c3ba8652aa0ccf (diff) |
alpha: switch to generic sys_execve()
get rid of sys_execve() wrapper, while we are at it
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/alpha/kernel/entry.S | 9 | ||||
-rw-r--r-- | arch/alpha/kernel/process.c | 21 |
3 files changed, 1 insertions, 30 deletions
diff --git a/arch/alpha/include/asm/unistd.h b/arch/alpha/include/asm/unistd.h index a31a78eac9b9..7826e227e4d0 100644 --- a/arch/alpha/include/asm/unistd.h +++ b/arch/alpha/include/asm/unistd.h | |||
@@ -481,6 +481,7 @@ | |||
481 | #define __ARCH_WANT_SYS_OLDUMOUNT | 481 | #define __ARCH_WANT_SYS_OLDUMOUNT |
482 | #define __ARCH_WANT_SYS_SIGPENDING | 482 | #define __ARCH_WANT_SYS_SIGPENDING |
483 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND | 483 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND |
484 | #define __ARCH_WANT_SYS_EXECVE | ||
484 | 485 | ||
485 | /* "Conditional" syscalls. What we want is | 486 | /* "Conditional" syscalls. What we want is |
486 | 487 | ||
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S index ec0da0567ab5..61ff145cab6e 100644 --- a/arch/alpha/kernel/entry.S +++ b/arch/alpha/kernel/entry.S | |||
@@ -745,15 +745,6 @@ sys_rt_sigreturn: | |||
745 | .end sys_rt_sigreturn | 745 | .end sys_rt_sigreturn |
746 | 746 | ||
747 | .align 4 | 747 | .align 4 |
748 | .globl sys_execve | ||
749 | .ent sys_execve | ||
750 | sys_execve: | ||
751 | .prologue 0 | ||
752 | mov $sp, $19 | ||
753 | jmp $31, do_sys_execve | ||
754 | .end sys_execve | ||
755 | |||
756 | .align 4 | ||
757 | .globl alpha_ni_syscall | 748 | .globl alpha_ni_syscall |
758 | .ent alpha_ni_syscall | 749 | .ent alpha_ni_syscall |
759 | alpha_ni_syscall: | 750 | alpha_ni_syscall: |
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index d6fde98b74b3..145473909199 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c | |||
@@ -382,27 +382,6 @@ dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task) | |||
382 | EXPORT_SYMBOL(dump_elf_task_fp); | 382 | EXPORT_SYMBOL(dump_elf_task_fp); |
383 | 383 | ||
384 | /* | 384 | /* |
385 | * sys_execve() executes a new program. | ||
386 | */ | ||
387 | asmlinkage int | ||
388 | do_sys_execve(const char __user *ufilename, | ||
389 | const char __user *const __user *argv, | ||
390 | const char __user *const __user *envp, struct pt_regs *regs) | ||
391 | { | ||
392 | int error; | ||
393 | char *filename; | ||
394 | |||
395 | filename = getname(ufilename); | ||
396 | error = PTR_ERR(filename); | ||
397 | if (IS_ERR(filename)) | ||
398 | goto out; | ||
399 | error = do_execve(filename, argv, envp, regs); | ||
400 | putname(filename); | ||
401 | out: | ||
402 | return error; | ||
403 | } | ||
404 | |||
405 | /* | ||
406 | * Return saved PC of a blocked thread. This assumes the frame | 385 | * Return saved PC of a blocked thread. This assumes the frame |
407 | * pointer is the 6th saved long on the kernel stack and that the | 386 | * pointer is the 6th saved long on the kernel stack and that the |
408 | * saved return address is the first long in the frame. This all | 387 | * saved return address is the first long in the frame. This all |