Эх сурвалжийг харах

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 17 жил өмнө
parent
commit
561c2bccc7

+ 1 - 0
arch/sh/kernel/entry-common.S

@@ -262,6 +262,7 @@ __restore_all:
 
 
 	.align	2
 	.align	2
 syscall_badsys:			! Bad syscall number
 syscall_badsys:			! Bad syscall number
+	get_current_thread_info r8, r0
 	mov	#-ENOSYS, r0
 	mov	#-ENOSYS, r0
 	bra	resume_userspace
 	bra	resume_userspace
 	 mov.l	r0, @(OFF_R0,r15)	! Return value
 	 mov.l	r0, @(OFF_R0,r15)	! Return value