Hi x86 maintainers,
This set has been seen quite a few changes and additions since the
last post. Details below.
Changes from v3:
* Reordered patches following Ingo's recommendations: Introduce
failing selftests first, then the kernel code to fix the test
failure.
* Increase verbosity and accuracy of do_not_expect_pk_fault()
messages.
* Removed abort() use from tests. Crashing is not nice.
* Remove some dead debugging code, fixing dprint_in_signal.
* Fix deadlocks from using printf() and friends in signal
handlers.
Changes from v2:
* Clarified commit message in patch 1/9 taking some feedback from
Shuah.
Changes from v1:
* Added Fixes: and cc'd stable. No code changes.
--
This fixes two bugs, and adds selftests to make sure they stay fixed:
1. pkey 0 was not usable via mprotect_pkey() because it had never
been explicitly allocated.
2. mprotect(PROT_EXEC) memory could sometimes be left with the
implicit exec-only protection key assigned.
I already posted #1 previously. I'm including them both here because
I don't think it's been picked up in case folks want to pull these
all in a single bundle.
Dave Hansen (13):
x86/pkeys/selftests: give better unexpected fault error messages
x86/pkeys/selftests: Stop using assert()
x86/pkeys/selftests: remove dead debugging code, fix dprint_in_signal
x86/pkeys/selftests: avoid printf-in-signal deadlocks
x86/pkeys/selftests: Allow faults on unknown keys
x86/pkeys/selftests: Factor out "instruction page"
x86/pkeys/selftests: Add PROT_EXEC test
x86/pkeys/selftests: Fix pkey exhaustion test off-by-one
x86/pkeys: Override pkey when moving away from PROT_EXEC
x86/pkeys/selftests: Fix pointer math
x86/pkeys/selftests: Save off 'prot' for allocations
x86/pkeys/selftests: Add a test for pkey 0
x86/pkeys: Do not special case protection key 0
arch/x86/include/asm/mmu_context.h | 2 +-
arch/x86/include/asm/pkeys.h | 18 +-
arch/x86/mm/pkeys.c | 21 +-
tools/testing/selftests/x86/pkey-helpers.h | 20 +-
tools/testing/selftests/x86/protection_keys.c | 187 +++++++++++++-----
5 files changed, 173 insertions(+), 75 deletions(-)
Cc: Ram Pai <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Michael Ellermen <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Andrew Morton <[email protected]>p
Cc: Shuah Khan <[email protected]>
Cc: Shakeel Butt <[email protected]>