sh: Fix up thread info pointer in syscall_badsys resume path.
authorHideo Saito <saito@densan.co.jp>
Thu, 15 May 2008 04:30:05 +0000 (13:30 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 16 May 2008 05:55:07 +0000 (14:55 +0900)
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>
arch/sh/kernel/entry-common.S

index 926b2e7b11c13a602fcce925c07439e1cdb09229..9a1837d5b54e33e7365e1031e66ebf38efdebad6 100644 (file)
@@ -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