diff options
| -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 |
