All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] [v4] x86, pkeys: two protection keys bug fixes
@ 2018-05-09 17:13 Dave Hansen
  2018-05-09 17:13 ` [PATCH 01/13] x86/pkeys/selftests: Give better unexpected fault error messages Dave Hansen
                   ` (13 more replies)
  0 siblings, 14 replies; 37+ messages in thread
From: Dave Hansen @ 2018-05-09 17:13 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-mm, Dave Hansen, linuxram, tglx, dave.hansen, mpe, mingo,
	akpm, shuah, shakeelb

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>

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2018-05-14 12:47 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-09 17:13 [PATCH 00/13] [v4] x86, pkeys: two protection keys bug fixes Dave Hansen
2018-05-09 17:13 ` [PATCH 01/13] x86/pkeys/selftests: Give better unexpected fault error messages Dave Hansen
2018-05-14 12:40   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 02/13] x86/pkeys/selftests: Stop using assert() Dave Hansen
2018-05-14 12:41   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 03/13] x86/pkeys/selftests: Remove dead debugging code, fix dprint_in_signal Dave Hansen
2018-05-14 12:41   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 04/13] x86/pkeys/selftests: Avoid printf-in-signal deadlocks Dave Hansen
2018-05-14 12:42   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 05/13] x86/pkeys/selftests: Allow faults on unknown keys Dave Hansen
2018-05-14 12:42   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 06/13] x86/pkeys/selftests: Factor out "instruction page" Dave Hansen
2018-05-14 12:43   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 07/13] x86/pkeys/selftests: Add PROT_EXEC test Dave Hansen
2018-05-14 12:43   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 08/13] x86/pkeys/selftests: Fix pkey exhaustion test off-by-one Dave Hansen
2018-05-14 12:44   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 09/13] x86/pkeys: Override pkey when moving away from PROT_EXEC Dave Hansen
2018-05-09 17:13   ` Dave Hansen
2018-05-14 12:44   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 10/13] x86/pkeys/selftests: Fix pointer math Dave Hansen
2018-05-14 12:45   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 11/13] x86/pkeys/selftests: Save off 'prot' for allocations Dave Hansen
2018-05-14 12:45   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 12/13] x86/pkeys/selftests: Add a test for pkey 0 Dave Hansen
2018-05-14 12:46   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-09 17:13 ` [PATCH 13/13] x86/pkeys: Do not special case protection key 0 Dave Hansen
2018-05-09 17:13   ` Dave Hansen
2018-05-14 12:46   ` [tip:x86/urgent] " tip-bot for Dave Hansen
2018-05-14  8:29 ` [PATCH 00/13] [v4] x86, pkeys: two protection keys bug fixes Ingo Molnar
2018-05-14  8:29   ` Ingo Molnar
2018-05-14  8:47   ` Ingo Molnar
2018-05-14  8:56   ` [PATCH] x86/pkeys/selftests: Adjust the self-test to fresh distros that export the pkeys ABI Ingo Molnar
2018-05-14  8:56     ` Ingo Molnar
2018-05-14 12:39     ` [tip:x86/urgent] " tip-bot for Ingo Molnar
2018-05-14  8:59   ` [PATCH] x86/mpx/selftests: Adjust the self-test to fresh distros that export the MPX ABI Ingo Molnar
2018-05-14 12:39     ` [tip:x86/urgent] " tip-bot for Ingo Molnar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.