linux/arch/mips
Maciej W. Rozycki abf378be49 MIPS: ptrace: Prevent writes to read-only FCSR bits
Correct the cases missed with commit 9b26616c8d ("MIPS: Respect the
ISA level in FCSR handling") and prevent writes to read-only FCSR bits
there.

This in particular applies to FP context initialisation where any IEEE
754-2008 bits preset by `mips_set_personality_nan' are cleared before
the relevant ptrace(2) call takes effect and the PTRACE_POKEUSR request
addressing FPC_CSR where no masking of read-only FCSR bits is done.

Remove the FCSR clearing from FP context initialisation then and unify
PTRACE_POKEUSR/FPC_CSR and PTRACE_SETFPREGS handling, by factoring out
code from `ptrace_setfpregs' and calling it from both places.

This mostly matters to soft float configurations where the emulator can
be switched this way to a mode which should not be accessible and cannot
be set with the CTC1 instruction.  With hard float configurations any
effect is transient anyway as read-only bits will retain their values at
the time the FP context is restored.

Signed-off-by: Maciej W. Rozycki <macro@imgtec.com>
Cc: stable@vger.kernel.org # v4.0+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13239/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-05-13 15:30:25 +02:00
..
alchemy MIPS: alchemy: Remove CLK_IS_ROOT 2016-05-13 15:30:25 +02:00
ar7
ath25
ath79 MIPS: ath79: Remove CLK_IS_ROOT 2016-05-13 15:30:25 +02:00
bcm47xx MIPS: BCM47xx: Move SPROM driver to drivers/firmware/ 2016-05-13 14:01:43 +02:00
bcm63xx Merge branch 'ib-mfd-regulator-gpio-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into devel 2016-03-09 17:40:37 +07:00
bmips MIPS: BMIPS: Add support for BCM63268 2016-05-13 14:02:09 +02:00
boot MIPS: dts: pic32: Update dts to reflect new PIC32MZDA clk binding 2016-05-13 15:30:25 +02:00
cavium-octeon MIPS: Octeon: Mark some functions __init in smp.c 2016-05-13 14:02:10 +02:00
cobalt
configs MIPS: BMIPS: Enable partition parser in defconfig 2016-05-13 14:02:06 +02:00
dec MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
emma
fw MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
include MIPS: ELF: Unify ABI classification macros 2016-05-13 15:30:25 +02:00
jazz
jz4740 MIPS: jz4740: Fix surviving instance of irq_to_gpio() 2016-02-29 11:23:49 +01:00
kernel MIPS: ptrace: Prevent writes to read-only FCSR bits 2016-05-13 15:30:25 +02:00
kvm MIPS: Define & use CP0_EBase bit definitions 2016-05-13 15:30:25 +02:00
lantiq MIPS: Change my email address 2016-05-13 14:02:18 +02:00
lasat
lib MIPS: Print GuestCtl1 on machine check exception 2016-05-13 15:30:25 +02:00
loongson32 MIPS: Loongson1B: Some updates/fixes for LS1B 2016-05-13 14:02:05 +02:00
loongson64 MIPS: Loongson: Add Loongson-3A R2 basic support 2016-05-13 14:02:14 +02:00
math-emu MIPS: math-emu: Fix jalr emulation when rd == $0 2016-05-13 14:02:24 +02:00
mm MIPS: mm: Panic if an XPA kernel is run without RIXI 2016-05-13 15:30:25 +02:00
mti-malta MIPS: Introduce plat_get_fdt a platform API to retrieve the FDT 2016-05-13 14:02:03 +02:00
mti-sead3 MIPS: Introduce plat_get_fdt a platform API to retrieve the FDT 2016-05-13 14:02:03 +02:00
net
netlogic MIPS: Define & use CP0_EBase bit definitions 2016-05-13 15:30:25 +02:00
oprofile MIPS: Add perf counter feature 2016-05-13 15:30:25 +02:00
paravirt
pci MIPS: Add & use CP0_EntryHi ASID definitions 2016-05-13 14:02:18 +02:00
pic32 clk: Get rid of HAVE_MACH_CLKDEV 2016-02-25 14:41:20 -08:00
pistachio
pmcs-msp71xx MIPS: MSP71xx: Use __flush_cache_all instead of flush_cache_all. 2016-05-13 14:01:38 +02:00
pnx833x MIPS: make PCI_DMA_BUS_IS_PHYS=1 constant 2016-05-13 14:02:17 +02:00
power
ralink MIPS: Change my email address 2016-05-13 14:02:18 +02:00
rb532 MIPS: rb532: use gpiochip data pointer 2016-02-19 09:51:44 +01:00
sgi-ip22
sgi-ip27 MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
sgi-ip32
sibyte MIPS: Sibyte: Fix Kconfig dependencies of SIBYTE_BUS_WATCHER 2016-05-09 12:00:03 +02:00
sni
txx9 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-03-19 10:05:34 -07:00
vdso
vr41xx MIPS: VR41xx: Use __flush_cache_all instead of flush_cache_all. 2016-05-13 14:01:38 +02:00
xilfpga
Kbuild
Kbuild.platforms
Kconfig MIPS: BMIPS: BMIPS4380 and BMIPS5000 support RIXI 2016-05-13 15:30:25 +02:00
Kconfig.debug
Makefile MIPS: Generate relocation table when CONFIG_RELOCATABLE 2016-05-13 14:02:02 +02:00