diff options
author | Hideo Saito <saito@densan.co.jp> | 2008-05-15 13:30:05 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-05-16 14:55:07 +0900 |
commit | 561c2bccc7c5cf3d42f38f1f4d61c7b609d4631e (patch) | |
tree | 6ea17594951e210dbf71c6a445da39faf6b9649a /arch/sh | |
parent | e08b954c9a140f2062649faec72514eb505f18c3 (diff) |
sh: Fix up thread info pointer in syscall_badsys resume path.
Entry to resume_userspace expects r8 to contain current_thread_info,
which happens in all paths except for syscall_badsys, where r8 was
being inadvertently trampled. Reload it before the branch.
Signed-off-by: Hideo Saito <saito@densan.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/kernel/entry-common.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index 926b2e7b11c1..9a1837d5b54e 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S @@ -262,6 +262,7 @@ __restore_all: .align 2 syscall_badsys: ! Bad syscall number + get_current_thread_info r8, r0 mov #-ENOSYS, r0 bra resume_userspace mov.l r0, @(OFF_R0,r15) ! Return value |