Patch "MIPS: ptrace: Fix FP context restoration FCSR regression" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
MIPS: ptrace: Fix FP context restoration FCSR regression
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mips-ptrace-fix-fp-context-restoration-fcsr-regression.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4249548454f7ba4581aeee26bd83f42b48a14d15Mon Sep 17 00:00:00 2001
From: "Maciej W. Rozycki" <[email protected]>
Date: Thu, 12 May 2016 10:18:27 +0100
Subject: MIPS: ptrace: Fix FP context restoration FCSR regression
From: Maciej W. Rozycki <[email protected]>
commit 4249548454f7ba4581aeee26bd83f42b48a14d15 upstream.
Fix a floating-point context restoration regression introduced with commit 9b26616c8d9d ("MIPS: Respect the ISA level in FCSR handling") that causes a Floating Point exception and consequently a kernel oops with hard float configurations when one or more FCSR Enable and their corresponding Cause bits are set both at a time via a ptrace(2) call.
To do so reinstate Cause bit masking originally introduced with commit b1442d39fac2 ("MIPS: Prevent user from setting FCSR cause bits") to address this exact problem and then inadvertently removed from the PTRACE_SETFPREGS request with the commit referred above.
Patchwork: https://patchwork.linux-mips.org/patch/13238/
--- arch/mips/kernel/ptrace.c | 1 + 1 file changed, 1 insertion(+)
arch/mips/kernel/ptrace.c +1 -0
@@ -176,6 +176,7 @@ int ptrace_setfpregs(struct task_struct }__get_user (value, data +64 ); + value &= ~FPU_CSR_ALL_X ; fcr31 = child->thread.fpu.fcr31; mask = boot_cpu_data.fpu_msk31; child->thread.fpu.fcr31 = (value & ~mask) | (fcr31 & mask);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mips-disable-preemption-during-prctl-pr_set_fp_mode.patch queue-4.4/mips-ptrace-prevent-writes-to-read-only-fcsr-bits.patch queue-4.4/mips-msa-fix-a-link-error-on-_init_msa_upper-with-older-gcc.patch queue-4.4/mips-ptrace-fix-fp-context-restoration-fcsr-regression.patch queue-4.4/mips-vdso-build-with-fno-strict-aliasing.patch queue-4.4/mips-math-emu-fix-jalr-emulation-when-rd-0.patch