aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-08-02 04:53:03 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-09-30 22:21:37 -0400
commit756144f8ea2e4fccbbf1a5644f3e1e889a48f765 (patch)
treeec40b98d02da8e5592b960a665ee67cd60e25b49 /arch/alpha
parenta63c97a000c9c9a03372943a40c3ba8652aa0ccf (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.h1
-rw-r--r--arch/alpha/kernel/entry.S9
-rw-r--r--arch/alpha/kernel/process.c21
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
750sys_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
759alpha_ni_syscall: 750alpha_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)
382EXPORT_SYMBOL(dump_elf_task_fp); 382EXPORT_SYMBOL(dump_elf_task_fp);
383 383
384/* 384/*
385 * sys_execve() executes a new program.
386 */
387asmlinkage int
388do_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);
401out:
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