diff options
author | Hideo Saito <saito@densan.co.jp> | 2008-05-15 00:30:05 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-05-16 01:55:07 -0400 |
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: | |||
262 | 262 | ||
263 | .align 2 | 263 | .align 2 |
264 | syscall_badsys: ! Bad syscall number | 264 | syscall_badsys: ! Bad syscall number |
265 | get_current_thread_info r8, r0 | ||
265 | mov #-ENOSYS, r0 | 266 | mov #-ENOSYS, r0 |
266 | bra resume_userspace | 267 | bra resume_userspace |
267 | mov.l r0, @(OFF_R0,r15) ! Return value | 268 | mov.l r0, @(OFF_R0,r15) ! Return value |