mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
MIPS: Fix seccomp syscall argument for MIPS64
Commit4c21b8fd8f
("MIPS: seccomp: Handle indirect system calls (o32)") fixed indirect system calls on O32 but it also introduced a bug for MIPS64 where it erroneously modified the v0 (syscall) register with the assumption that the sycall offset hasn't been taken into consideration. This breaks seccomp on MIPS64 n64 and n32 ABIs. We fix this by replacing the addition with a move instruction. Fixes:4c21b8fd8f
("MIPS: seccomp: Handle indirect system calls (o32)") Cc: <stable@vger.kernel.org> # 3.15+ Reviewed-by: James Hogan <james.hogan@imgtec.com> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/10951/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
f7644cbfcd
commit
9f161439e4
2 changed files with 2 additions and 2 deletions
|
@ -80,7 +80,7 @@ syscall_trace_entry:
|
|||
SAVE_STATIC
|
||||
move s0, t2
|
||||
move a0, sp
|
||||
daddiu a1, v0, __NR_64_Linux
|
||||
move a1, v0
|
||||
jal syscall_trace_enter
|
||||
|
||||
bltz v0, 2f # seccomp failed? Skip syscall
|
||||
|
|
|
@ -72,7 +72,7 @@ n32_syscall_trace_entry:
|
|||
SAVE_STATIC
|
||||
move s0, t2
|
||||
move a0, sp
|
||||
daddiu a1, v0, __NR_N32_Linux
|
||||
move a1, v0
|
||||
jal syscall_trace_enter
|
||||
|
||||
bltz v0, 2f # seccomp failed? Skip syscall
|
||||
|
|
Loading…
Reference in a new issue