linux/arch/powerpc
Ram Pai a4fcc877d4 powerpc/pkeys: Preallocate execute-only key
execute-only key is allocated dynamically. This is a problem. When a
thread implicitly creates an execute-only key, and resets the UAMOR
for that key, the UAMOR value does not percolate to all the other
threads. Any other thread may ignorantly change the permissions on the
key. This can cause the key to be not execute-only for that thread.

Preallocate the execute-only key and ensure that no thread can change
the permission of the key, by resetting the corresponding bit in
UAMOR.

Fixes: 5586cf61e1 ("powerpc: introduce execute-only pkey")
Cc: stable@vger.kernel.org # v4.16+
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-07-24 21:38:42 +10:00
..
boot powerpc/dts: Use a correct at24 compatible fallback in ac14xx 2018-07-10 10:58:40 +10:00
configs powerpc/embedded6xx: Remove C2K board support 2018-06-04 00:39:22 +10:00
crypto crypto: hash - annotate algorithms taking optional key 2018-01-12 23:03:35 +11:00
include powerpc/pkeys: key allocation/deallocation must not change pkey registers 2018-07-24 21:34:08 +10:00
kernel powerpc/pkeys: Save the pkey registers before fork 2018-07-24 21:34:47 +10:00
kvm powerpc/powernv/ioda: Allocate indirect TCE levels on demand 2018-07-16 22:53:11 +10:00
lib treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm powerpc/pkeys: Preallocate execute-only key 2018-07-24 21:38:42 +10:00
net treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
oprofile treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
perf powerpc/64s: Remove POWER9 DD1 support 2018-07-16 11:37:21 +10:00
platforms powerpc/powernv/npu: Add a debugfs setting to change ATSD threshold 2018-07-19 21:58:10 +10:00
purgatory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysdev powerpc/mpic: Pass first free vector number to mpic_setup_error_int() 2018-07-19 21:58:09 +10:00
tools powerpc/kbuild: move -mprofile-kernel check to Kconfig 2018-06-11 09:16:29 +09:00
xmon Merge branch 'topic/ppc-kvm' into next 2018-07-19 14:37:57 +10:00
Kconfig powerpc: Enable kernel XZ compression option on BOOK3S_32 2018-07-04 22:41:10 +10:00
Kconfig.debug powerpc: Add new kconfig CONFIG_PPC_IRQ_SOFT_MASK_DEBUG 2018-01-19 22:37:03 +11:00
Makefile powerpc/e500mc: Set assembler machine type to e500mc 2018-06-19 21:28:20 +10:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00