Ver Fonte

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>
Hideo Saito há 17 anos atrás
pai
commit
561c2bccc7
1 ficheiros alterados com 1 adições e 0 exclusões
  1. 1 0
      arch/sh/kernel/entry-common.S

+ 1 - 0
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