summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/entry-common.S
diff options
context:
space:
mode:
authorHideo Saito <saito@densan.co.jp>2008-05-15 06:30:05 +0200
committerPaul Mundt <lethal@linux-sh.org>2008-05-16 07:55:07 +0200
commit561c2bccc7c5cf3d42f38f1f4d61c7b609d4631e (patch)
tree6ea17594951e210dbf71c6a445da39faf6b9649a /arch/sh/kernel/entry-common.S
parentsh: Fix up optimized SH-4 memcpy on big endian. (diff)
downloadlinux-561c2bccc7c5cf3d42f38f1f4d61c7b609d4631e.tar.xz
linux-561c2bccc7c5cf3d42f38f1f4d61c7b609d4631e.zip
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/kernel/entry-common.S')
-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:
.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