diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-15 08:27:16 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-15 17:15:04 +0200 |
commit | 5fd0b580a9fda554eae27fff4953e6622bd792d7 (patch) | |
tree | 8dddf797bfb5c5cd8ad9a657fca39cd2fbbb5b28 /arch/avr32 | |
parent | avr32: switch to generic kernel_thread()/kernel_execve() (diff) | |
download | linux-5fd0b580a9fda554eae27fff4953e6622bd792d7.tar.xz linux-5fd0b580a9fda554eae27fff4953e6622bd792d7.zip |
avr32: switch to generic sys_execve()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/avr32')
-rw-r--r-- | arch/avr32/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/avr32/kernel/process.c | 21 | ||||
-rw-r--r-- | arch/avr32/kernel/syscall-stubs.S | 6 | ||||
-rw-r--r-- | arch/avr32/kernel/syscall_table.S | 2 |
4 files changed, 2 insertions, 28 deletions
diff --git a/arch/avr32/include/asm/unistd.h b/arch/avr32/include/asm/unistd.h index 157b4bd3d5e5..641023d1bcb5 100644 --- a/arch/avr32/include/asm/unistd.h +++ b/arch/avr32/include/asm/unistd.h @@ -39,6 +39,7 @@ #define __ARCH_WANT_SYS_GETPGRP #define __ARCH_WANT_SYS_RT_SIGACTION #define __ARCH_WANT_SYS_RT_SIGSUSPEND +#define __ARCH_WANT_SYS_EXECVE /* * "Conditional" syscalls diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c index 07380c3a4f78..09b894d96d6e 100644 --- a/arch/avr32/kernel/process.c +++ b/arch/avr32/kernel/process.c @@ -349,27 +349,6 @@ asmlinkage int sys_vfork(struct pt_regs *regs) 0, NULL, NULL); } -asmlinkage int sys_execve(const char __user *ufilename, - const char __user *const __user *uargv, - const char __user *const __user *uenvp, - struct pt_regs *regs) -{ - int error; - struct filename *filename; - - filename = getname(ufilename); - error = PTR_ERR(filename); - if (IS_ERR(filename)) - goto out; - - error = do_execve(filename->name, uargv, uenvp, regs); - putname(filename); - -out: - return error; -} - - /* * This function is supposed to answer the question "who called * schedule()?" diff --git a/arch/avr32/kernel/syscall-stubs.S b/arch/avr32/kernel/syscall-stubs.S index 0447a3e2ba64..285a61b9194e 100644 --- a/arch/avr32/kernel/syscall-stubs.S +++ b/arch/avr32/kernel/syscall-stubs.S @@ -50,12 +50,6 @@ __sys_vfork: mov r12, sp rjmp sys_vfork - .global __sys_execve - .type __sys_execve,@function -__sys_execve: - mov r9, sp - rjmp sys_execve - .global __sys_mmap2 .type __sys_mmap2,@function __sys_mmap2: diff --git a/arch/avr32/kernel/syscall_table.S b/arch/avr32/kernel/syscall_table.S index 6eba53530d1c..fc6497706819 100644 --- a/arch/avr32/kernel/syscall_table.S +++ b/arch/avr32/kernel/syscall_table.S @@ -24,7 +24,7 @@ sys_call_table: .long sys_creat .long sys_link .long sys_unlink /* 10 */ - .long __sys_execve + .long sys_execve .long sys_chdir .long sys_time .long sys_mknod |