MIPS: ptrace: Also initialize the FP context on individual FCSR writes
authorMaciej W. Rozycki <macro@imgtec.com>
Fri, 28 Oct 2016 07:20:09 +0000 (08:20 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 4 Nov 2016 00:28:17 +0000 (01:28 +0100)
Complement commit ac9ad83bc318 ("MIPS: prevent FP context set via ptrace
being discarded") and also initialize the FP context whenever FCSR alone
is written with a PTRACE_POKEUSR request addressing FPC_CSR, rather than
along with the full FPU register set in the case of the PTRACE_SETFPREGS
request.

Signed-off-by: Maciej W. Rozycki <macro@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14459/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/ptrace.c

index 6103b24d1bfcb781ae436ceb2a7c94ec7801df34..fd3a9580661abaa18ae94fad360de0372eb7340e 100644 (file)
@@ -817,6 +817,7 @@ long arch_ptrace(struct task_struct *child, long request,
                        break;
 #endif
                case FPC_CSR:
+                       init_fp_ctx(child);
                        ptrace_setfcr31(child, data);
                        break;
                case DSP_BASE ... DSP_BASE + 5: {