Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab2abda6 authored by Kirill Tkhai's avatar Kirill Tkhai Committed by David S. Miller
Browse files

sparc64: Fix not SRA'ed %o5 in 32-bit traced syscall



(From v1 to v2: changed comment)

On the way linux_sparc_syscall32->linux_syscall_trace32->goto 2f,
register %o5 doesn't clear its second 32-bit.

Fix that.

Signed-off-by: default avatarKirill Tkhai <tkhai@yandex.ru>
CC: David Miller <davem@davemloft.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 37d6fa34
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -152,7 +152,7 @@ linux_syscall_trace32:
	srl	%i4, 0, %o4
	srl	%i1, 0, %o1
	srl	%i2, 0, %o2
	ba,pt	%xcc, 2f
	ba,pt	%xcc, 5f
	 srl	%i3, 0, %o3

linux_syscall_trace:
@@ -182,13 +182,13 @@ linux_sparc_syscall32:
	srl	%i1, 0, %o1				! IEU0	Group
	ldx	[%g6 + TI_FLAGS], %l0		! Load

	srl	%i5, 0, %o5				! IEU1
	srl	%i3, 0, %o3				! IEU0
	srl	%i2, 0, %o2				! IEU0	Group
	andcc	%l0, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT|_TIF_SYSCALL_TRACEPOINT), %g0
	bne,pn	%icc, linux_syscall_trace32		! CTI
	 mov	%i0, %l5				! IEU1
	call	%l7					! CTI	Group brk forced
	 srl	%i3, 0, %o3				! IEU0
5:	call	%l7					! CTI	Group brk forced
	 srl	%i5, 0, %o5				! IEU1
	ba,a,pt	%xcc, 3f

	/* Linux native system calls enter here... */