path: root/arch/mn10300/kernel
diff options
authorDavid Howells <>2013-05-28 20:21:02 +0100
committerLinus Torvalds <>2013-05-30 13:38:48 +0900
commit1e00227d4e8017ac9c3f73bf949a06c6e27f5122 (patch)
tree4c95be672e90ea282807a2d8d30367d550d0b5e8 /arch/mn10300/kernel
parente4aa937ec75df0eea0bee03bffa3303ad36c986b (diff)
MN10300: Fix ret_from_kernel_thread
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 ddf23e87a804 ("mn10300: switch to saner kernel_execve() semantics") Reported-by: Ken Cox <> Signed-off-by: David Howells <> Acked-by: Ken Cox <> Acked-by: Al Viro <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'arch/mn10300/kernel')
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S
index 68fcab8f8f6f..942005753720 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()
clr d0
mov d0,(REG_D0,fp)
jmp syscall_exit