Linux-kselftest Archive on lore.kernel.org
 help / color / Atom feed
From: Sandipan Das <sandipan@linux.ibm.com>
To: shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org
Cc: linux-arch@vger.kernel.org, fweimer@redhat.com,
	dave.hansen@intel.com, x86@kernel.org, linuxram@us.ibm.com,
	mhocko@kernel.org, linux-mm@kvack.org, mingo@redhat.com,
	aneesh.kumar@linux.ibm.com, bauerman@linux.ibm.com,
	msuchanek@suse.de, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v15 00/24] selftests, powerpc, x86: Memory Protection Keys
Date: Wed, 18 Dec 2019 13:21:33 +0530
Message-ID: <cover.1576645161.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.

Testing
-------
Verified for correctness on powerpc. Need help with x86 testing as I
do not have access to a Skylake server. Client platforms like Coffee
Lake do not have the required feature bits set in CPUID.

Changelog
---------
Link to previous version (v14):
https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=55981&state=*

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 (17):
  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: Typecast the pkey register
  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 (3):
  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

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           |   5 +
 tools/testing/selftests/vm/pkey-helpers.h     | 226 ++++++
 tools/testing/selftests/vm/pkey-powerpc.h     | 138 ++++
 tools/testing/selftests/vm/pkey-x86.h         | 183 +++++
 .../selftests/{x86 => vm}/protection_keys.c   | 688 ++++++++++--------
 tools/testing/selftests/x86/.gitignore        |   1 -
 tools/testing/selftests/x86/pkey-helpers.h    | 219 ------
 8 files changed, 931 insertions(+), 530 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


             reply index

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-18  7:51 Sandipan Das [this message]
2019-12-18  7:51 ` [PATCH v15 01/23] selftests/x86/pkeys: Move selftests to arch-neutral directory Sandipan Das
2019-12-18  7:51 ` [PATCH v15 02/23] selftests/vm/pkeys: Rename all references to pkru to a generic name Sandipan Das
2019-12-18  7:51 ` [PATCH v15 03/23] selftests/vm/pkeys: Move generic definitions to header file Sandipan Das
2019-12-18  7:51 ` [PATCH v15 04/23] selftests/vm/pkeys: Move some definitions to arch-specific header Sandipan Das
2019-12-18  7:51 ` [PATCH v15 05/23] selftests/vm/pkeys: Make gcc check arguments of sigsafe_printf() Sandipan Das
2019-12-18  7:51 ` [PATCH v15 06/23] selftests/vm/pkeys: Typecast the pkey register Sandipan Das
2019-12-18 20:46   ` Dave Hansen
2019-12-18 20:59     ` Michal Suchánek
2019-12-18 21:01       ` Dave Hansen
2019-12-18 21:45         ` Michal Suchánek
2019-12-19 11:39         ` Michael Ellerman
2019-12-18  7:51 ` [PATCH v15 07/23] selftests: vm: pkeys: Add helpers for pkey bits Sandipan Das
2019-12-18  7:51 ` [PATCH v15 08/23] selftests/vm/pkeys: Fix pkey_disable_clear() Sandipan Das
2019-12-18  7:51 ` [PATCH v15 09/23] selftests/vm/pkeys: Fix assertion in pkey_disable_set/clear() Sandipan Das
2019-12-18  7:51 ` [PATCH v15 10/23] selftests/vm/pkeys: Fix alloc_random_pkey() to make it really random Sandipan Das
2019-12-18  7:51 ` [PATCH v15 11/23] selftests: vm: pkeys: Use the correct huge page size Sandipan Das
2019-12-18  7:51 ` [PATCH v15 12/23] selftests/vm/pkeys: Introduce generic pkey abstractions Sandipan Das
2019-12-18  7:51 ` [PATCH v15 13/23] selftests/vm/pkeys: Introduce powerpc support Sandipan Das
2019-12-18  7:51 ` [PATCH v15 14/23] selftests/vm/pkeys: Fix assertion in test_pkey_alloc_exhaust() Sandipan Das
2020-01-15  7:30   ` Michael Ellerman
2019-12-18  7:51 ` [PATCH v15 15/23] selftests/vm/pkeys: Improve checks to determine pkey support Sandipan Das
2019-12-18  7:51 ` [PATCH v15 16/23] selftests/vm/pkeys: Associate key on a mapped page and detect access violation Sandipan Das
2019-12-18  7:51 ` [PATCH v15 17/23] selftests/vm/pkeys: Associate key on a mapped page and detect write violation Sandipan Das
2019-12-18  7:51 ` [PATCH v15 18/23] selftests/vm/pkeys: Detect write violation on a mapped access-denied-key page Sandipan Das
2019-12-18  7:51 ` [PATCH v15 19/23] selftests/vm/pkeys: Introduce a sub-page allocator Sandipan Das
2019-12-18  7:51 ` [PATCH v15 20/23] selftests/vm/pkeys: Test correct behaviour of pkey-0 Sandipan Das
2019-12-18  7:51 ` [PATCH v15 21/23] selftests/vm/pkeys: Fix number of reserved powerpc pkeys Sandipan Das
2019-12-18  7:51 ` [PATCH v15 22/23] selftests/vm/pkeys: Override access right definitions on powerpc Sandipan Das
2019-12-18  7:51 ` [PATCH v15 23/23] selftests: vm: pkeys: Use the correct page size " Sandipan Das
2020-01-15  7:07   ` Michael Ellerman
2020-01-16  8:33     ` Sandipan Das
2019-12-18 20:48 ` [PATCH v15 00/24] selftests, powerpc, x86: Memory Protection Keys Dave Hansen
2020-01-10 17:38 ` Aneesh Kumar K.V
2020-01-10 17:57   ` Dave Hansen
2020-01-11 16:50     ` Sandipan Das

Reply instructions:

You may reply publically 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.1576645161.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=msuchanek@suse.de \
    --cc=shuahkh@osg.samsung.com \
    --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

Linux-kselftest Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-kselftest/0 linux-kselftest/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-kselftest linux-kselftest/ https://lore.kernel.org/linux-kselftest \
		linux-kselftest@vger.kernel.org
	public-inbox-index linux-kselftest

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kselftest


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git