Assortment of fixes to pkey. Patch 1 makes pkey consumable in multithreaded applications.
Patch 2 fixes fork behavior to inherit the key attributes. Patch 3 A off-by-one bug made one key unusable. Fixes it. Patch 4 Execute-only key is preallocated. Patch 5 Makes pkey-0 less special. Patch 6 Deny by default permissions on all unallocated keys. Passes all selftests on powerpc. Also behavior verified to be correct by Florian. Changelog: v2: . fixed merge conflict with upstream code. . Add patch 6. Makes the behavior consistent with that on x86. Ram Pai (6): powerpc/pkeys: Enable all user-allocatable pkeys at init. powerpc/pkeys: Save the pkey registers before fork powerpc/pkeys: fix calculation of total pkeys. powerpc/pkeys: Preallocate execute-only key powerpc/pkeys: make protection key 0 less special powerpc/pkeys: Deny read/write/execute by default arch/powerpc/include/asm/pkeys.h | 29 +++++++++-- arch/powerpc/kernel/process.c | 1 + arch/powerpc/mm/pkeys.c | 102 ++++++++++++------------------------- 3 files changed, 57 insertions(+), 75 deletions(-)