diff options
author | Jonas Bonn <jonas@southpole.se> | 2012-10-19 18:25:36 +0200 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2012-10-19 18:33:01 +0200 |
commit | a91a2bb1dbd87987645bdb56f49e6a50501b692a (patch) | |
tree | 3bc883a09b0ad54f5ed45c6d447c06fe32fc97ce | |
parent | cbf23cf1b96819599f6a1b9658d1bf3a97c6ff15 (diff) |
openrisc: use generic sys_execve
Signed-off-by: Jonas Bonn <jonas@southpole.se>
-rw-r--r-- | arch/openrisc/include/uapi/asm/unistd.h | 2 | ||||
-rw-r--r-- | arch/openrisc/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/openrisc/kernel/process.c | 24 |
3 files changed, 2 insertions, 28 deletions
diff --git a/arch/openrisc/include/uapi/asm/unistd.h b/arch/openrisc/include/uapi/asm/unistd.h index 437bdbb61b1..5db7bc0fa5a 100644 --- a/arch/openrisc/include/uapi/asm/unistd.h +++ b/arch/openrisc/include/uapi/asm/unistd.h @@ -20,6 +20,8 @@ #define sys_mmap2 sys_mmap_pgoff +#define __ARCH_WANT_SYS_EXECVE + #include <asm-generic/unistd.h> #define __NR_or1k_atomic __NR_arch_specific_syscall diff --git a/arch/openrisc/kernel/entry.S b/arch/openrisc/kernel/entry.S index dce86aef8ab..c60a09df323 100644 --- a/arch/openrisc/kernel/entry.S +++ b/arch/openrisc/kernel/entry.S @@ -1083,10 +1083,6 @@ ENTRY(sys_fork) l.j _fork_save_extra_regs_and_call l.addi r3,r1,0 -ENTRY(sys_execve) - l.j _sys_execve - l.addi r6,r1,0 - ENTRY(sys_sigaltstack) l.j _sys_sigaltstack l.addi r5,r1,0 diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c index a0f467e438f..e0874b8e09e 100644 --- a/arch/openrisc/kernel/process.c +++ b/arch/openrisc/kernel/process.c @@ -251,30 +251,6 @@ void dump_elf_thread(elf_greg_t *dest, struct pt_regs* regs) dest[35] = 0; } -/* - * sys_execve() executes a new program. - */ -asmlinkage long _sys_execve(const char __user *name, - const char __user * const __user *argv, - const char __user * const __user *envp, - struct pt_regs *regs) -{ - int error; - struct filename *filename; - - filename = getname(name); - error = PTR_ERR(filename); - - if (IS_ERR(filename)) - goto out; - - error = do_execve(filename->name, argv, envp, regs); - putname(filename); - -out: - return error; -} - unsigned long get_wchan(struct task_struct *p) { /* TODO */ |