From 8f54bcacbc39f883bde2210cf2754e5d198f55a4 Mon Sep 17 00:00:00 2001
From: Al Viro <viro@zeniv.linux.org.uk>
Date: Tue, 9 Oct 2012 16:27:45 -0400
Subject: mips: switch to generic kernel_thread()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
 arch/mips/Kconfig | 1 +
 1 file changed, 1 insertion(+)

(limited to 'arch/mips/Kconfig')

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index dba9390d37c..ede301f9c88 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -40,6 +40,7 @@ config MIPS
 	select HAVE_MOD_ARCH_SPECIFIC
 	select MODULES_USE_ELF_REL
 	select MODULES_USE_ELF_RELA if 64BIT
+	select GENERIC_KERNEL_THREAD
 
 menu "Machine selection"
 
-- 
cgit v1.2.3-70-g09d2


From 9b0e5d42d9a66621fce83a22987d33325debb588 Mon Sep 17 00:00:00 2001
From: Al Viro <viro@zeniv.linux.org.uk>
Date: Thu, 11 Oct 2012 16:01:20 -0400
Subject: 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>
---
 arch/mips/Kconfig              |  1 +
 arch/mips/include/asm/unistd.h |  1 -
 arch/mips/kernel/entry.S       | 12 +-----------
 3 files changed, 2 insertions(+), 12 deletions(-)

(limited to 'arch/mips/Kconfig')

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index ede301f9c88..4183e62f178 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -41,6 +41,7 @@ config MIPS
 	select MODULES_USE_ELF_REL
 	select MODULES_USE_ELF_RELA if 64BIT
 	select GENERIC_KERNEL_THREAD
+	select GENERIC_KERNEL_EXECVE
 
 menu "Machine selection"
 
diff --git a/arch/mips/include/asm/unistd.h b/arch/mips/include/asm/unistd.h
index 8ae908c66e5..b306e2081ca 100644
--- a/arch/mips/include/asm/unistd.h
+++ b/arch/mips/include/asm/unistd.h
@@ -18,7 +18,6 @@
 #ifndef __ASSEMBLY__
 
 #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64
-#define __ARCH_WANT_KERNEL_EXECVE
 #define __ARCH_WANT_OLD_READDIR
 #define __ARCH_WANT_SYS_ALARM
 #define __ARCH_WANT_SYS_EXECVE
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S
index 5dcb5fbbbd5..3320cb4ac1d 100644
--- a/arch/mips/kernel/entry.S
+++ b/arch/mips/kernel/entry.S
@@ -69,8 +69,7 @@ FEXPORT(ret_from_kernel_thread)
 	jal	schedule_tail		# a0 = struct task_struct *prev
 	move	a0, s1
 	jal	s0
-	li	a0, 0
-	j	sys_exit
+	j	syscall_exit
 
 FEXPORT(ret_from_fork)
 	jal	schedule_tail		# a0 = struct task_struct *prev
@@ -192,15 +191,6 @@ syscall_exit_work:
 	jal	syscall_trace_leave
 	b	resume_userspace
 
-LEAF(ret_from_kernel_execve)
-	move	sp, a0
-	ori	$28,  sp, _THREAD_SIZE - 1
-	xori	$28, $28, _THREAD_SIZE - 1
-	li	v0, 0
-	li	a3, 0
-	j	syscall_exit_partial
-	END(ret_from_kernel_execve)
-
 #if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_MIPS_MT)
 
 /*
-- 
cgit v1.2.3-70-g09d2