[PATCH v6 00/23] powerpc/book3s/64/pkeys: Simplify the code
Aneesh Kumar K.V
aneesh.kumar at linux.ibm.com
Thu Jul 9 13:29:23 AEST 2020
This patch series update the pkey subsystem with more documentation and
rename variables so that it is easy to follow the code. We drop the changes
to support KUAP/KUEP with hash translation in this update. The changes
are adding 200 cycles to null syscalls benchmark and I want to look at that
closely before requesting a merge. The rest of the patches are included
in this series. This should avoid having to carry a large patchset across
the upstream merge. Some of the changes in here make the hash KUEP/KUAP
addition simpler.
Changes from v5:
* Address review feedback.
* Dropped patches moving kup to generic name.
* Dropped static key changes related to execute only support.
Changes from v4:
* Drop hash KUAP/KUEP changes.
Changes from v3:
* Fix build error reported by kernel test robot <lkp at intel.com>
Changes from v2:
* Rebase to the latest kernel.
* Fixed a bug with disabling KUEP/KUAP on kernel command line
* Added a patch to make kup key dynamic.
Changes from v1:
* Rebased on latest kernel
Aneesh Kumar K.V (23):
powerpc/book3s64/pkeys: Use PVR check instead of cpu feature
powerpc/book3s64/pkeys: Fixup bit numbering
powerpc/book3s64/pkeys: pkeys are supported only on hash on book3s.
powerpc/book3s64/pkeys: Move pkey related bits in the linux page table
powerpc/book3s64/pkeys: Explain key 1 reservation details
powerpc/book3s64/pkeys: Simplify the key initialization
powerpc/book3s64/pkeys: Prevent key 1 modification from userspace.
powerpc/book3s64/pkeys: kill cpu feature key CPU_FTR_PKEY
powerpc/book3s64/pkeys: Simplify pkey disable branch
powerpc/book3s64/pkeys: Convert pkey_total to num_pkey
powerpc/book3s64/pkeys: Make initial_allocation_mask static
powerpc/book3s64/pkeys: Mark all the pkeys above max pkey as reserved
powerpc/book3s64/pkeys: Add MMU_FTR_PKEY
powerpc/book3s64/kuep: Add MMU_FTR_KUEP
powerpc/book3s64/pkeys: Use pkey_execute_disable_supported
powerpc/book3s64/pkeys: Use MMU_FTR_PKEY instead of pkey_disabled
static key
powerpc/book3s64/keys: Print information during boot.
powerpc/book3s64/keys/kuap: Reset AMR/IAMR values on kexec
powerpc/book3s64/kuap: Move UAMOR setup to key init function
powerpc/selftest/ptrave-pkey: Rename variables to make it easier to
follow code
powerpc/selftest/ptrace-pkey: Update the test to mark an invalid pkey
correctly
powerpc/selftest/ptrace-pkey: Don't update expected UAMOR value
powerpc/book3s64/pkeys: Remove is_pkey_enabled()
arch/powerpc/include/asm/book3s/64/hash-4k.h | 21 +-
arch/powerpc/include/asm/book3s/64/hash-64k.h | 12 +-
.../powerpc/include/asm/book3s/64/hash-pkey.h | 32 ++
arch/powerpc/include/asm/book3s/64/kexec.h | 23 ++
arch/powerpc/include/asm/book3s/64/mmu-hash.h | 8 +-
arch/powerpc/include/asm/book3s/64/mmu.h | 6 +
arch/powerpc/include/asm/book3s/64/pgtable.h | 17 +-
arch/powerpc/include/asm/book3s/64/pkeys.h | 27 ++
arch/powerpc/include/asm/cputable.h | 13 +-
arch/powerpc/include/asm/kexec.h | 12 +
arch/powerpc/include/asm/mmu.h | 17 +
arch/powerpc/include/asm/pkeys.h | 65 +---
arch/powerpc/include/asm/processor.h | 1 -
arch/powerpc/kernel/dt_cpu_ftrs.c | 6 -
arch/powerpc/kernel/misc_64.S | 14 -
arch/powerpc/kernel/prom.c | 5 +
arch/powerpc/kernel/ptrace/ptrace-view.c | 27 +-
arch/powerpc/kernel/smp.c | 1 +
arch/powerpc/kexec/core_64.c | 2 +
arch/powerpc/mm/book3s64/hash_utils.c | 4 +
arch/powerpc/mm/book3s64/pgtable.c | 3 +
arch/powerpc/mm/book3s64/pkeys.c | 294 ++++++++++--------
arch/powerpc/mm/book3s64/radix_pgtable.c | 8 +-
.../selftests/powerpc/ptrace/ptrace-pkey.c | 55 ++--
24 files changed, 404 insertions(+), 269 deletions(-)
create mode 100644 arch/powerpc/include/asm/book3s/64/hash-pkey.h
create mode 100644 arch/powerpc/include/asm/book3s/64/kexec.h
create mode 100644 arch/powerpc/include/asm/book3s/64/pkeys.h
--
2.26.2
More information about the Linuxppc-dev
mailing list