diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-11 16:01:20 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-15 16:27:52 -0400 |
commit | 9b0e5d42d9a66621fce83a22987d33325debb588 (patch) | |
tree | 33d3f14e6f115bcc013b4673d62c715e79e5b945 | |
parent | baf9ff74eda9f0efcc8a68e8a9c9d183be13a810 (diff) |
mips: switch to saner kernel_execve() semantics
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | arch/mips/Kconfig | 1 | ||||
-rw-r--r-- | arch/mips/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/mips/kernel/entry.S | 12 |
3 files changed, 2 insertions, 12 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index ede301f9c88b..4183e62f178c 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -41,6 +41,7 @@ config MIPS | |||
41 | select MODULES_USE_ELF_REL | 41 | select MODULES_USE_ELF_REL |
42 | select MODULES_USE_ELF_RELA if 64BIT | 42 | select MODULES_USE_ELF_RELA if 64BIT |
43 | select GENERIC_KERNEL_THREAD | 43 | select GENERIC_KERNEL_THREAD |
44 | select GENERIC_KERNEL_EXECVE | ||
44 | 45 | ||
45 | menu "Machine selection" | 46 | menu "Machine selection" |
46 | 47 | ||
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h index 8ae908c66e59..b306e2081cad 100644 --- a/arch/mips/include/asm/unistd.h +++ b/arch/mips/include/asm/unistd.h | |||
@@ -18,7 +18,6 @@ | |||
18 | #ifndef __ASSEMBLY__ | 18 | #ifndef __ASSEMBLY__ |
19 | 19 | ||
20 | #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 | 20 | #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 |
21 | #define __ARCH_WANT_KERNEL_EXECVE | ||
22 | #define __ARCH_WANT_OLD_READDIR | 21 | #define __ARCH_WANT_OLD_READDIR |
23 | #define __ARCH_WANT_SYS_ALARM | 22 | #define __ARCH_WANT_SYS_ALARM |
24 | #define __ARCH_WANT_SYS_EXECVE | 23 | #define __ARCH_WANT_SYS_EXECVE |
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index 5dcb5fbbbd53..3320cb4ac1d4 100644 --- a/arch/mips/kernel/entry.S +++ b/arch/mips/kernel/entry.S | |||
@@ -69,8 +69,7 @@ FEXPORT(ret_from_kernel_thread) | |||
69 | jal schedule_tail # a0 = struct task_struct *prev | 69 | jal schedule_tail # a0 = struct task_struct *prev |
70 | move a0, s1 | 70 | move a0, s1 |
71 | jal s0 | 71 | jal s0 |
72 | li a0, 0 | 72 | j syscall_exit |
73 | j sys_exit | ||
74 | 73 | ||
75 | FEXPORT(ret_from_fork) | 74 | FEXPORT(ret_from_fork) |
76 | jal schedule_tail # a0 = struct task_struct *prev | 75 | jal schedule_tail # a0 = struct task_struct *prev |
@@ -192,15 +191,6 @@ syscall_exit_work: | |||
192 | jal syscall_trace_leave | 191 | jal syscall_trace_leave |
193 | b resume_userspace | 192 | b resume_userspace |
194 | 193 | ||
195 | LEAF(ret_from_kernel_execve) | ||
196 | move sp, a0 | ||
197 | ori $28, sp, _THREAD_SIZE - 1 | ||
198 | xori $28, $28, _THREAD_SIZE - 1 | ||
199 | li v0, 0 | ||
200 | li a3, 0 | ||
201 | j syscall_exit_partial | ||
202 | END(ret_from_kernel_execve) | ||
203 | |||
204 | #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_MIPS_MT) | 194 | #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_MIPS_MT) |
205 | 195 | ||
206 | /* | 196 | /* |