| From c50cbd85cd7027d32ac5945bb60217936b4f7eaf Mon Sep 17 00:00:00 2001 |
| From: "Dmitry V. Levin" <ldv@altlinux.org> |
| Date: Wed, 21 Nov 2018 22:14:39 +0300 |
| Subject: mips: fix mips_get_syscall_arg o32 check |
| |
| From: Dmitry V. Levin <ldv@altlinux.org> |
| |
| commit c50cbd85cd7027d32ac5945bb60217936b4f7eaf upstream. |
| |
| 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+ |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/mips/include/asm/syscall.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/mips/include/asm/syscall.h |
| +++ b/arch/mips/include/asm/syscall.h |
| @@ -57,7 +57,7 @@ static inline unsigned long mips_get_sys |
| #ifdef CONFIG_64BIT |
| case 4: case 5: case 6: case 7: |
| #ifdef CONFIG_MIPS32_O32 |
| - if (test_thread_flag(TIF_32BIT_REGS)) |
| + if (test_tsk_thread_flag(task, TIF_32BIT_REGS)) |
| return get_user(*arg, (int *)usp + n); |
| else |
| #endif |