[PATCH 1/4] MN10300: Fix ret_from_kernel_thread

From: David Howells
Date: Tue May 28 2013 - 10:34:19 EST


ret_from_kernel_thread needs to set A2 to the thread_info pointer before
jumping to syscall_exit.

Without this, we never correctly start userspace.

This was caused by the rejuggling of the fork/exec paths in commit:

ddf23e87a804cbf6fa3818076b33fe023cce09fd
Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Thu Oct 11 17:32:41 2012 -0400
Subject: mn10300: switch to saner kernel_execve() semantics

Reported-by: Ken Cox <jkc@xxxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Acked-by: Ken Cox <jkc@xxxxxxxxxx>
Acked-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
---

arch/mn10300/kernel/entry.S | 1 +
1 file changed, 1 insertion(+)


diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S
index 0c631d3..92c3eea 100644
--- a/arch/mn10300/kernel/entry.S
+++ b/arch/mn10300/kernel/entry.S
@@ -60,6 +60,7 @@ ENTRY(ret_from_kernel_thread)
mov (REG_D0,fp),d0
mov (REG_A0,fp),a0
calls (a0)
+ GET_THREAD_INFO a2 # A2 must be set on return from sys_exit()
jmp sys_exit

ENTRY(ret_from_kernel_execve)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/