summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2018-11-21 14:14:39 -0500
committerPaul Burton <paul.burton@mips.com>2018-11-21 14:21:52 -0500
commitc50cbd85cd7027d32ac5945bb60217936b4f7eaf (patch)
tree1c1c41f014c7064d975b31a67724adaee784086a
parent1229ace4a4a2e2c982a32fb075dc1bf95423924f (diff)
mips: fix mips_get_syscall_arg o32 check
When checking for TIF_32BIT_REGS flag, mips_get_syscall_arg() should use the task specified as its argument instead of the current task. This potentially affects all syscall_get_arguments() users who specify tasks different from the current. Fixes: c0ff3c53d4f99 ("MIPS: Enable HAVE_ARCH_TRACEHOOK.") Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/21185/ Cc: Elvira Khabirova <lineprinter@altlinux.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: James Hogan <jhogan@kernel.org> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org # v3.13+
-rw-r--r--arch/mips/include/asm/syscall.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/include/asm/syscall.h b/arch/mips/include/asm/syscall.h
index 0170602a1e4e..6cf8ffb5367e 100644
--- a/arch/mips/include/asm/syscall.h
+++ b/arch/mips/include/asm/syscall.h
@@ -73,7 +73,7 @@ static inline unsigned long mips_get_syscall_arg(unsigned long *arg,
73#ifdef CONFIG_64BIT 73#ifdef CONFIG_64BIT
74 case 4: case 5: case 6: case 7: 74 case 4: case 5: case 6: case 7:
75#ifdef CONFIG_MIPS32_O32 75#ifdef CONFIG_MIPS32_O32
76 if (test_thread_flag(TIF_32BIT_REGS)) 76 if (test_tsk_thread_flag(task, TIF_32BIT_REGS))
77 return get_user(*arg, (int *)usp + n); 77 return get_user(*arg, (int *)usp + n);
78 else 78 else
79#endif 79#endif