From: Sandipan Das <sandipan@linux.ibm.com>
To: shuah@kernel.org, skhan@linuxfoundation.org,
linux-kselftest@vger.kernel.org
Cc: linux-arch@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
x86@kernel.org, linux-mm@kvack.org, fweimer@redhat.com,
dave.hansen@intel.com, linuxram@us.ibm.com, mhocko@kernel.org,
mingo@redhat.com, aneesh.kumar@linux.ibm.com,
bauerman@linux.ibm.com, msuchanek@suse.de, mpe@ellerman.id.au
Subject: [PATCH v18 00/24] selftests, powerpc, x86: Memory Protection Keys
Date: Thu, 30 Jan 2020 12:06:42 +0530 [thread overview]
Message-ID: <cover.1580365432.git.sandipan@linux.ibm.com> (raw)
Memory protection keys enables an application to protect its address
space from inadvertent access by its own code.
This feature is now enabled on powerpc and has been available since
4.16-rc1. The patches move the selftests to arch neutral directory
and enhance their test coverage.
Tested on powerpc64 and x86_64 (Skylake-SP).
Link to development branch:
https://github.com/sandip4n/linux/tree/pkey-selftests
Changelog
---------
Link to previous version (v17):
https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=154174
v18:
(1) Fixed issues with x86 multilib builds based on
feedback from Dave.
(2) Moved patch 2 to the end of the series.
v17:
(1) Fixed issues with i386 builds when running on x86_64
based on feedback from Dave.
(2) Replaced patch 6 from previous version with patch 7.
This addresses u64 format specifier related concerns
that Michael had raised in v15.
v16:
(1) Rebased on top of latest master.
(2) Switched to u64 instead of using an arch-dependent
pkey_reg_t type for references to the pkey register
based on suggestions from Dave, Michal and Michael.
(3) Removed build time determination of page size based
on suggestion from Michael.
(4) Fixed comment before the definition of __page_o_noops()
from patch 13 ("selftests/vm/pkeys: Introduce powerpc
support").
v15:
(1) Rebased on top of latest master.
(2) Addressed review comments from Dave Hansen.
(3) Moved code for getting or setting pkey bits to new
helpers. These changes replace patch 7 of v14.
(4) Added a fix which ensures that the correct count of
reserved keys is used across different platforms.
(5) Added a fix which ensures that the correct page size
is used as powerpc supports both 4K and 64K pages.
v14:
(1) Incorporated another round of comments from Dave Hansen.
v13:
(1) Incorporated comments for Dave Hansen.
(2) Added one more test for correct pkey-0 behavior.
v12:
(1) Fixed the offset of pkey field in the siginfo structure for
x86_64 and powerpc. And tries to use the actual field
if the headers have it defined.
v11:
(1) Fixed a deadlock in the ptrace testcase.
v10 and prior:
(1) Moved the testcase to arch neutral directory.
(2) Split the changes into incremental patches.
Desnes A. Nunes do Rosario (1):
selftests/vm/pkeys: Fix number of reserved powerpc pkeys
Ram Pai (16):
selftests/x86/pkeys: Move selftests to arch-neutral directory
selftests/vm/pkeys: Rename all references to pkru to a generic name
selftests/vm/pkeys: Move generic definitions to header file
selftests/vm/pkeys: Fix pkey_disable_clear()
selftests/vm/pkeys: Fix assertion in pkey_disable_set/clear()
selftests/vm/pkeys: Fix alloc_random_pkey() to make it really random
selftests/vm/pkeys: Introduce generic pkey abstractions
selftests/vm/pkeys: Introduce powerpc support
selftests/vm/pkeys: Fix assertion in test_pkey_alloc_exhaust()
selftests/vm/pkeys: Improve checks to determine pkey support
selftests/vm/pkeys: Associate key on a mapped page and detect access
violation
selftests/vm/pkeys: Associate key on a mapped page and detect write
violation
selftests/vm/pkeys: Detect write violation on a mapped
access-denied-key page
selftests/vm/pkeys: Introduce a sub-page allocator
selftests/vm/pkeys: Test correct behaviour of pkey-0
selftests/vm/pkeys: Override access right definitions on powerpc
Sandipan Das (5):
selftests: vm: pkeys: Use sane types for pkey register
selftests: vm: pkeys: Add helpers for pkey bits
selftests: vm: pkeys: Use the correct huge page size
selftests: vm: pkeys: Use the correct page size on powerpc
selftests: vm: pkeys: Fix multilib builds for x86
Thiago Jung Bauermann (2):
selftests/vm/pkeys: Move some definitions to arch-specific header
selftests/vm/pkeys: Make gcc check arguments of sigsafe_printf()
tools/testing/selftests/vm/.gitignore | 1 +
tools/testing/selftests/vm/Makefile | 73 ++
tools/testing/selftests/vm/pkey-helpers.h | 225 ++++++
tools/testing/selftests/vm/pkey-powerpc.h | 136 ++++
tools/testing/selftests/vm/pkey-x86.h | 181 +++++
.../selftests/{x86 => vm}/protection_keys.c | 696 ++++++++++--------
tools/testing/selftests/x86/.gitignore | 1 -
tools/testing/selftests/x86/Makefile | 2 +-
tools/testing/selftests/x86/pkey-helpers.h | 219 ------
9 files changed, 1002 insertions(+), 532 deletions(-)
create mode 100644 tools/testing/selftests/vm/pkey-helpers.h
create mode 100644 tools/testing/selftests/vm/pkey-powerpc.h
create mode 100644 tools/testing/selftests/vm/pkey-x86.h
rename tools/testing/selftests/{x86 => vm}/protection_keys.c (74%)
delete mode 100644 tools/testing/selftests/x86/pkey-helpers.h
--
2.17.1
next reply other threads:[~2020-01-30 6:37 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-30 6:36 Sandipan Das [this message]
2020-01-30 6:36 ` [PATCH v18 01/24] selftests/x86/pkeys: Move selftests to arch-neutral directory Sandipan Das
2020-01-30 6:36 ` [PATCH v18 02/24] selftests/vm/pkeys: Rename all references to pkru to a generic name Sandipan Das
2020-01-30 6:36 ` [PATCH v18 03/24] selftests/vm/pkeys: Move generic definitions to header file Sandipan Das
2020-01-30 6:36 ` [PATCH v18 04/24] selftests/vm/pkeys: Move some definitions to arch-specific header Sandipan Das
2020-01-30 6:36 ` [PATCH v18 05/24] selftests/vm/pkeys: Make gcc check arguments of sigsafe_printf() Sandipan Das
2020-01-30 6:36 ` [PATCH v18 06/24] selftests: vm: pkeys: Use sane types for pkey register Sandipan Das
2020-01-30 6:36 ` [PATCH v18 07/24] selftests: vm: pkeys: Add helpers for pkey bits Sandipan Das
2020-01-30 6:36 ` [PATCH v18 08/24] selftests/vm/pkeys: Fix pkey_disable_clear() Sandipan Das
2020-01-30 6:36 ` [PATCH v18 09/24] selftests/vm/pkeys: Fix assertion in pkey_disable_set/clear() Sandipan Das
2020-01-30 6:36 ` [PATCH v18 10/24] selftests/vm/pkeys: Fix alloc_random_pkey() to make it really random Sandipan Das
2020-01-30 6:36 ` [PATCH v18 11/24] selftests: vm: pkeys: Use the correct huge page size Sandipan Das
2020-01-30 6:36 ` [PATCH v18 12/24] selftests/vm/pkeys: Introduce generic pkey abstractions Sandipan Das
2020-01-30 6:36 ` [PATCH v18 13/24] selftests/vm/pkeys: Introduce powerpc support Sandipan Das
2020-01-30 6:36 ` [PATCH v18 14/24] selftests/vm/pkeys: Fix number of reserved powerpc pkeys Sandipan Das
2020-01-30 6:36 ` [PATCH v18 15/24] selftests/vm/pkeys: Fix assertion in test_pkey_alloc_exhaust() Sandipan Das
2020-01-30 6:36 ` [PATCH v18 16/24] selftests/vm/pkeys: Improve checks to determine pkey support Sandipan Das
2020-01-30 6:36 ` [PATCH v18 17/24] selftests/vm/pkeys: Associate key on a mapped page and detect access violation Sandipan Das
2020-01-30 6:37 ` [PATCH v18 18/24] selftests/vm/pkeys: Associate key on a mapped page and detect write violation Sandipan Das
2020-01-30 6:37 ` [PATCH v18 19/24] selftests/vm/pkeys: Detect write violation on a mapped access-denied-key page Sandipan Das
2020-01-30 6:37 ` [PATCH v18 20/24] selftests/vm/pkeys: Introduce a sub-page allocator Sandipan Das
2020-01-30 6:37 ` [PATCH v18 21/24] selftests/vm/pkeys: Test correct behaviour of pkey-0 Sandipan Das
2020-01-30 6:37 ` [PATCH v18 22/24] selftests/vm/pkeys: Override access right definitions on powerpc Sandipan Das
2020-01-30 6:37 ` [PATCH v18 23/24] selftests: vm: pkeys: Use the correct page size " Sandipan Das
2020-01-30 6:37 ` [PATCH v18 24/24] selftests: vm: pkeys: Fix multilib builds for x86 Sandipan Das
2020-01-30 21:51 ` [PATCH v18 00/24] selftests, powerpc, x86: Memory Protection Keys Dave Hansen
2020-03-02 10:25 ` Sandipan Das
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1580365432.git.sandipan@linux.ibm.com \
--to=sandipan@linux.ibm.com \
--cc=aneesh.kumar@linux.ibm.com \
--cc=bauerman@linux.ibm.com \
--cc=dave.hansen@intel.com \
--cc=fweimer@redhat.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=linuxram@us.ibm.com \
--cc=mhocko@kernel.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=msuchanek@suse.de \
--cc=shuah@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).