linux/arch/powerpc
Anton Blanchard 178f358208 powerpc: Ignore reserved field in DCSR and PVR reads and writes
IBM bit 31 (for the rest of us - bit 0) is a reserved field in the
instruction definition of mtspr and mfspr. Hardware is encouraged to
(and does) ignore it.

As a result, if userspace executes an mtspr DSCR with the reserved bit
set, we get a DSCR facility unavailable exception. The kernel fails to
match against the expected value/mask, and we silently return to
userspace to try and re-execute the same mtspr DSCR instruction. We
loop forever until the process is killed.

We should do something here, and it seems mirroring what hardware does
is the better option vs killing the process. While here, relax the
matching of mfspr PVR too.

Cc: stable@vger.kernel.org
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-01-20 15:21:35 +11:00
..
boot powerpc updates for 4.10 2016-12-16 09:26:42 -08:00
configs powerpc updates for 4.10 2016-12-16 09:26:42 -08:00
crypto crypto: crc32c-vpmsum - Rename CRYPT_CRC32C_VPMSUM option 2016-11-28 21:23:17 +08:00
include powerpc: Ignore reserved field in DCSR and PVR reads and writes 2017-01-20 15:21:35 +11:00
kernel powerpc/ptrace: Preserve previous TM fprs/vsrs on short regset write 2017-01-20 14:55:19 +11:00
kvm ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
lib Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
math-emu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mm powerpc/mm: Fix little-endian 4K hugetlb 2017-01-18 11:58:50 +11:00
net bpf: xdp: Allow head adjustment in XDP prog 2016-12-08 14:25:13 -05:00
oprofile ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
perf powerpc/perf: Use MSR to report privilege level on P9 DD1 2017-01-18 16:15:58 +11:00
platforms Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
purgatory powerpc: Add purgatory for kexec_file_load() implementation. 2016-11-30 23:15:26 +11:00
scripts powerpc/ftrace: Add Kconfig & Make glue for mprofile-kernel 2016-03-07 14:53:56 +11:00
sysdev powerpc/icp-opal: Fix missing KVM case and harden replay 2017-01-17 11:50:03 +11:00
xmon powerpc/xmon: Add 'dt' command to dump trace buffers 2016-11-25 14:30:27 +11:00
Kconfig powerpc: ima: get the kexec buffer passed by the previous kernel 2016-12-20 09:48:40 -08:00
Kconfig.debug powerpc/mm: Fix page table dump build on non-Book3S 2016-12-01 16:20:18 +11:00
Makefile powerpc: Add purgatory for kexec_file_load() implementation. 2016-11-30 23:15:26 +11:00
relocs_check.sh powerpc/64: whitelist unresolved modversions CRCs 2016-09-22 14:46:31 +02:00