24 lines
704 B
Diff
24 lines
704 B
Diff
# In http://marc.theaimsgroup.com/?l=linux-sparc&m=113678944402745&w=2
|
|
# David Miller wrote:
|
|
#
|
|
# We're spamming the existing flags value in register %l0, thus
|
|
# corrupting the subsequent tracing flag et al. checks.
|
|
#
|
|
# This should fix it:
|
|
#
|
|
# diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S
|
|
# index 11a8484..86ff6a9 100644
|
|
--- a/arch/sparc64/kernel/entry.S
|
|
+++ b/arch/sparc64/kernel/entry.S
|
|
@@ -1657,8 +1657,8 @@ ret_sys_call:
|
|
/* Check if force_successful_syscall_return()
|
|
* was invoked.
|
|
*/
|
|
- ldub [%curptr + TI_SYS_NOERROR], %l0
|
|
- brz,pt %l0, 1f
|
|
+ ldub [%curptr + TI_SYS_NOERROR], %l1
|
|
+ brz,pt %l1, 1f
|
|
nop
|
|
ba,pt %xcc, 80f
|
|
stb %g0, [%curptr + TI_SYS_NOERROR]
|