Patch "x86/pkeys/selftests: Allow faults on unknown keys" has been added to the 4.14-stable tree
Subsystems (3)
[email protected]
AppliedThis is a note to let you know that I've just added the patch titled
x86/pkeys/selftests: Allow faults on unknown keys
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
x86-pkeys-selftests-allow-faults-on-unknown-keys.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Sun Jun 17 12:13:49 CEST 2018
From: Dave Hansen <[email protected]>
Date: Wed, 9 May 2018 10:13:46 -0700
Subject: x86/pkeys/selftests: Allow faults on unknown keys
From: Dave Hansen <[email protected]>
[ Upstream commit 7e7fd67ca39335a49619729821efb7cbdd674eb0 ]
The exec-only pkey is allocated inside the kernel and userspace is not told what it is. So, allow PK faults to occur that have an unknown key.
--- tools/testing/selftests/x86/protection_keys.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
tools/testing/selftests/x86/protection_keys.c +9 -1
@@ -921,13 +921,21 @@ void *malloc_pkey(long size, int prot, u }int last_pkru_faults; +#define UNKNOWN_PKEY -2void expected_pk_fault (int pkey) {dprintf2 ("%s(): last_pkru_faults: %d pkru_faults: %d\n" , __func__, last_pkru_faults, pkru_faults);dprintf2 ("%s(%d): last_si_pkey: %d\n" , __func__, pkey, last_si_pkey);pkey_assert (last_pkru_faults +1 == pkru_faults); -pkey_assert (last_si_pkey == pkey); + +/* +* For exec-only memory, we do not know the pkey in +* advance, so skip this check. +*/ +if (pkey !=UNKNOWN_PKEY ) +pkey_assert (last_si_pkey == pkey); +/* * The signal handler shold have cleared out PKRU to let the * test program continue. We now have to restore it.
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/x86-pkeys-selftests-factor-out-instruction-page.patch queue-4.14/x86-pkeys-selftests-fix-pointer-math.patch queue-4.14/x86-pkeys-selftests-adjust-the-self-test-to-fresh-distros-that-export-the-pkeys-abi.patch queue-4.14/x86-pkeys-selftests-add-a-test-for-pkey-0.patch queue-4.14/x86-pkeys-selftests-stop-using-assert.patch queue-4.14/x86-pkeys-selftests-save-off-prot-for-allocations.patch queue-4.14/x86-pkeys-selftests-remove-dead-debugging-code-fix-dprint_in_signal.patch queue-4.14/x86-mpx-selftests-adjust-the-self-test-to-fresh-distros-that-export-the-mpx-abi.patch queue-4.14/x86-pkeys-selftests-add-prot_exec-test.patch queue-4.14/x86-pkeys-selftests-allow-faults-on-unknown-keys.patch queue-4.14/x86-pkeys-selftests-give-better-unexpected-fault-error-messages.patch queue-4.14/x86-pkeys-selftests-fix-pkey-exhaustion-test-off-by-one.patch