lkml.org 
[lkml]   [2018]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[PATCH 00/13] [v4] x86, pkeys: two protection keys bug fixes
From
Date
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 <linuxram@us.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Michael Ellermen <mpe@ellerman.id.au>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>p
Cc: Shuah Khan <shuah@kernel.org>
Cc: Shakeel Butt <shakeelb@google.com>

\
 
 \ /
  Last update: 2018-05-09 19:18    [W:0.126 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site