[PATCH] FIXUP: MIPS: fix n64 syscall address calculation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch "MIPS: kernel: scall: Always run the seccomp syscall filters"
incorrectly calculates the address of the syscall function and instead
attempts a load from the offset of the syscall being invoked into the
table. This completely trashes all n64 userland syscalls. Fix the
address calculation.

Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx>
Cc: Markos Chandras <markos.chandras@xxxxxxxxxx>
---
Markos: could you please test all 3 ABIs you modified? The n64 one at
        least has clearly not been tested.
---
 arch/mips/kernel/scall64-64.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S
index 59e754e..ffab10a2 100644
--- a/arch/mips/kernel/scall64-64.S
+++ b/arch/mips/kernel/scall64-64.S
@@ -59,7 +59,7 @@ syscall_common:
 
 	dsll	t0, t2, 3		# offset into table
 	dla	t2, sys_call_table
-	daddu	t2, t0
+	daddu	t0, t2
 	ld	t2, (t0)		# syscall routine
 	beqz	t2, illegal_syscall
 
-- 
2.5.3





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux