aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorHideo Saito <saito@densan.co.jp>2008-05-15 00:30:05 -0400
committerPaul Mundt <lethal@linux-sh.org>2008-05-16 01:55:07 -0400
commit561c2bccc7c5cf3d42f38f1f4d61c7b609d4631e (patch)
tree6ea17594951e210dbf71c6a445da39faf6b9649a /arch/sh
parente08b954c9a140f2062649faec72514eb505f18c3 (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.S1
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
264syscall_badsys: ! Bad syscall number 264syscall_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