Commit 1e00227d authored by David Howells's avatar David Howells Committed by Linus Torvalds

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
ddf23e87 ("mn10300: switch to saner kernel_execve() semantics")
Reported-by: default avatarKen Cox <jkc@redhat.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Acked-by: default avatarKen Cox <jkc@redhat.com>
Acked-by: default avatarAl Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e4aa937e
...@@ -60,6 +60,7 @@ ENTRY(ret_from_kernel_thread) ...@@ -60,6 +60,7 @@ ENTRY(ret_from_kernel_thread)
mov (REG_D0,fp),d0 mov (REG_D0,fp),d0
mov (REG_A0,fp),a0 mov (REG_A0,fp),a0
calls (a0) calls (a0)
GET_THREAD_INFO a2 # A2 must be set on return from sys_exit()
clr d0 clr d0
mov d0,(REG_D0,fp) mov d0,(REG_D0,fp)
jmp syscall_exit jmp syscall_exit
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment