From 1e00227d4e8017ac9c3f73bf949a06c6e27f5122 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 28 May 2013 20:21:02 +0100 Subject: [PATCH] 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 --- 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 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 -- GitLab