All of lore.kernel.org
 help / color / mirror / Atom feed
From: linuxram at us.ibm.com (Ram Pai)
Subject: [PATCH v13 20/24] selftests/vm: associate key on a mapped page and detect write violation
Date: Wed, 13 Jun 2018 17:45:11 -0700	[thread overview]
Message-ID: <1528937115-10132-21-git-send-email-linuxram@us.ibm.com> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

detect write-violation on a page to which write-disabled
key is associated much after the page is mapped.

cc: Dave Hansen <dave.hansen at intel.com>
cc: Florian Weimer <fweimer at redhat.com>
Signed-off-by: Ram Pai <linuxram at us.ibm.com>
Acked-by: Dave Hansen <dave.hansen at intel.com>
---
 tools/testing/selftests/vm/protection_keys.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index 04d0249..f4acd72 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1042,6 +1042,17 @@ void test_read_of_access_disabled_region_with_page_already_mapped(int *ptr,
 	expected_pkey_fault(pkey);
 }
 
+void test_write_of_write_disabled_region_with_page_already_mapped(int *ptr,
+		u16 pkey)
+{
+	*ptr = __LINE__;
+	dprintf1("disabling write access; after accessing the page, "
+		"to PKEY[%02d], doing write\n", pkey);
+	pkey_write_deny(pkey);
+	*ptr = __LINE__;
+	expected_pkey_fault(pkey);
+}
+
 void test_write_of_write_disabled_region(int *ptr, u16 pkey)
 {
 	dprintf1("disabling write access to PKEY[%02d], doing write\n", pkey);
@@ -1422,6 +1433,7 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	test_read_of_access_disabled_region,
 	test_read_of_access_disabled_region_with_page_already_mapped,
 	test_write_of_write_disabled_region,
+	test_write_of_write_disabled_region_with_page_already_mapped,
 	test_write_of_access_disabled_region,
 	test_kernel_write_of_access_disabled_region,
 	test_kernel_write_of_write_disabled_region,
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: linuxram@us.ibm.com (Ram Pai)
Subject: [PATCH v13 20/24] selftests/vm: associate key on a mapped page and detect write violation
Date: Wed, 13 Jun 2018 17:45:11 -0700	[thread overview]
Message-ID: <1528937115-10132-21-git-send-email-linuxram@us.ibm.com> (raw)
Message-ID: <20180614004511.v8SBnneKoI7OrfO47KpTMC0w4tfD2BryW4Wc8KDCj9s@z> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

detect write-violation on a page to which write-disabled
key is associated much after the page is mapped.

cc: Dave Hansen <dave.hansen at intel.com>
cc: Florian Weimer <fweimer at redhat.com>
Signed-off-by: Ram Pai <linuxram at us.ibm.com>
Acked-by: Dave Hansen <dave.hansen at intel.com>
---
 tools/testing/selftests/vm/protection_keys.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index 04d0249..f4acd72 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1042,6 +1042,17 @@ void test_read_of_access_disabled_region_with_page_already_mapped(int *ptr,
 	expected_pkey_fault(pkey);
 }
 
+void test_write_of_write_disabled_region_with_page_already_mapped(int *ptr,
+		u16 pkey)
+{
+	*ptr = __LINE__;
+	dprintf1("disabling write access; after accessing the page, "
+		"to PKEY[%02d], doing write\n", pkey);
+	pkey_write_deny(pkey);
+	*ptr = __LINE__;
+	expected_pkey_fault(pkey);
+}
+
 void test_write_of_write_disabled_region(int *ptr, u16 pkey)
 {
 	dprintf1("disabling write access to PKEY[%02d], doing write\n", pkey);
@@ -1422,6 +1433,7 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	test_read_of_access_disabled_region,
 	test_read_of_access_disabled_region_with_page_already_mapped,
 	test_write_of_write_disabled_region,
+	test_write_of_write_disabled_region_with_page_already_mapped,
 	test_write_of_access_disabled_region,
 	test_kernel_write_of_access_disabled_region,
 	test_kernel_write_of_write_disabled_region,
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Ram Pai <linuxram@us.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.vnet.ibm.com, bauerman@linux.vnet.ibm.com,
	msuchanek@suse.de, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v13 20/24] selftests/vm: associate key on a mapped page and detect write violation
Date: Wed, 13 Jun 2018 17:45:11 -0700	[thread overview]
Message-ID: <1528937115-10132-21-git-send-email-linuxram@us.ibm.com> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

detect write-violation on a page to which write-disabled
key is associated much after the page is mapped.

cc: Dave Hansen <dave.hansen@intel.com>
cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Acked-by: Dave Hansen <dave.hansen@intel.com>
---
 tools/testing/selftests/vm/protection_keys.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index 04d0249..f4acd72 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1042,6 +1042,17 @@ void test_read_of_access_disabled_region_with_page_already_mapped(int *ptr,
 	expected_pkey_fault(pkey);
 }
 
+void test_write_of_write_disabled_region_with_page_already_mapped(int *ptr,
+		u16 pkey)
+{
+	*ptr = __LINE__;
+	dprintf1("disabling write access; after accessing the page, "
+		"to PKEY[%02d], doing write\n", pkey);
+	pkey_write_deny(pkey);
+	*ptr = __LINE__;
+	expected_pkey_fault(pkey);
+}
+
 void test_write_of_write_disabled_region(int *ptr, u16 pkey)
 {
 	dprintf1("disabling write access to PKEY[%02d], doing write\n", pkey);
@@ -1422,6 +1433,7 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	test_read_of_access_disabled_region,
 	test_read_of_access_disabled_region_with_page_already_mapped,
 	test_write_of_write_disabled_region,
+	test_write_of_write_disabled_region_with_page_already_mapped,
 	test_write_of_access_disabled_region,
 	test_kernel_write_of_access_disabled_region,
 	test_kernel_write_of_write_disabled_region,
-- 
1.7.1

WARNING: multiple messages have this Message-ID (diff)
From: Ram Pai <linuxram@us.ibm.com>
To: shuahkh@osg.samsung.com, linux-kselftest@vger.kernel.org
Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
	linux-mm@kvack.org, x86@kernel.org, linux-arch@vger.kernel.org,
	mingo@redhat.com, dave.hansen@intel.com, mhocko@kernel.org,
	bauerman@linux.vnet.ibm.com, linuxram@us.ibm.com,
	fweimer@redhat.com, msuchanek@suse.de,
	aneesh.kumar@linux.vnet.ibm.com
Subject: [PATCH v13 20/24] selftests/vm: associate key on a mapped page and detect write violation
Date: Wed, 13 Jun 2018 17:45:11 -0700	[thread overview]
Message-ID: <1528937115-10132-21-git-send-email-linuxram@us.ibm.com> (raw)
Message-ID: <20180614004511.zIXWVEraQ_vaTnHTjWf-AMpqywqypoZ__F1myrfVP9M@z> (raw)
In-Reply-To: <1528937115-10132-1-git-send-email-linuxram@us.ibm.com>

detect write-violation on a page to which write-disabled
key is associated much after the page is mapped.

cc: Dave Hansen <dave.hansen@intel.com>
cc: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Acked-by: Dave Hansen <dave.hansen@intel.com>
---
 tools/testing/selftests/vm/protection_keys.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
index 04d0249..f4acd72 100644
--- a/tools/testing/selftests/vm/protection_keys.c
+++ b/tools/testing/selftests/vm/protection_keys.c
@@ -1042,6 +1042,17 @@ void test_read_of_access_disabled_region_with_page_already_mapped(int *ptr,
 	expected_pkey_fault(pkey);
 }
 
+void test_write_of_write_disabled_region_with_page_already_mapped(int *ptr,
+		u16 pkey)
+{
+	*ptr = __LINE__;
+	dprintf1("disabling write access; after accessing the page, "
+		"to PKEY[%02d], doing write\n", pkey);
+	pkey_write_deny(pkey);
+	*ptr = __LINE__;
+	expected_pkey_fault(pkey);
+}
+
 void test_write_of_write_disabled_region(int *ptr, u16 pkey)
 {
 	dprintf1("disabling write access to PKEY[%02d], doing write\n", pkey);
@@ -1422,6 +1433,7 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
 	test_read_of_access_disabled_region,
 	test_read_of_access_disabled_region_with_page_already_mapped,
 	test_write_of_write_disabled_region,
+	test_write_of_write_disabled_region_with_page_already_mapped,
 	test_write_of_access_disabled_region,
 	test_kernel_write_of_access_disabled_region,
 	test_kernel_write_of_write_disabled_region,
-- 
1.7.1

  parent reply	other threads:[~2018-06-14  0:45 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-14  0:44 [PATCH v13 00/24] selftests, powerpc, x86 : Memory Protection Keys linuxram
2018-06-14  0:44 ` Ram Pai
2018-06-14  0:44 ` Ram Pai
2018-06-14  0:44 ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 01/24] selftests/x86: Move protecton key selftest to arch neutral directory linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 02/24] selftests/vm: rename all references to pkru to a generic name linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 03/24] selftests/vm: move generic definitions to header file linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 04/24] selftests/vm: move arch-specific definitions to arch-specific header linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 05/24] selftests/vm: Make gcc check arguments of sigsafe_printf() linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 06/24] selftests/vm: typecast the pkey register linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 07/24] selftests/vm: generic function to handle shadow key register linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44 ` [PATCH v13 08/24] selftests/vm: fix the wrong assert in pkey_disable_set() linuxram
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-14  0:44   ` Ram Pai
2018-06-20 14:47   ` dave.hansen
2018-06-20 14:47     ` Dave Hansen
2018-06-20 14:47     ` Dave Hansen
2018-06-20 14:47     ` Dave Hansen
2018-07-17 15:58     ` linuxram
2018-07-17 15:58       ` Ram Pai
2018-07-17 15:58       ` Ram Pai
2018-07-17 15:58       ` Ram Pai
2018-07-17 17:53       ` dave.hansen
2018-07-17 17:53         ` Dave Hansen
2018-07-17 17:53         ` Dave Hansen
2018-07-17 17:53         ` Dave Hansen
2018-06-14  0:45 ` [PATCH v13 09/24] selftests/vm: fixed bugs in pkey_disable_clear() linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 10/24] selftests/vm: clear the bits in shadow reg when a pkey is freed linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 14:49   ` dave.hansen
2018-06-20 14:49     ` Dave Hansen
2018-06-20 14:49     ` Dave Hansen
2018-06-20 14:49     ` Dave Hansen
2018-07-17 16:00     ` linuxram
2018-07-17 16:00       ` Ram Pai
2018-07-17 16:00       ` Ram Pai
2018-07-17 16:00       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 11/24] selftests/vm: fix alloc_random_pkey() to make it really random linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 12/24] selftests/vm: introduce two arch independent abstraction linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 13/24] selftests/vm: pkey register should match shadow pkey linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 14:53   ` dave.hansen
2018-06-20 14:53     ` Dave Hansen
2018-06-20 14:53     ` Dave Hansen
2018-06-20 14:53     ` Dave Hansen
2018-07-17 16:02     ` linuxram
2018-07-17 16:02       ` Ram Pai
2018-07-17 16:02       ` Ram Pai
2018-07-17 16:02       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 14/24] selftests/vm: generic cleanup linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 14:57   ` dave.hansen
2018-06-20 14:57     ` Dave Hansen
2018-06-20 14:57     ` Dave Hansen
2018-06-20 14:57     ` Dave Hansen
2018-06-14  0:45 ` [PATCH v13 15/24] selftests/vm: powerpc implementation for generic abstraction linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:06   ` dave.hansen
2018-06-20 15:06     ` Dave Hansen
2018-06-20 15:06     ` Dave Hansen
2018-06-20 15:06     ` Dave Hansen
2018-06-14  0:45 ` [PATCH v13 16/24] selftests/vm: clear the bits in shadow reg when a pkey is freed linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:07   ` dave.hansen
2018-06-20 15:07     ` Dave Hansen
2018-06-20 15:07     ` Dave Hansen
2018-06-20 15:07     ` Dave Hansen
2018-07-17 16:03     ` linuxram
2018-07-17 16:03       ` Ram Pai
2018-07-17 16:03       ` Ram Pai
2018-07-17 16:03       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 17/24] selftests/vm: powerpc implementation to check support for pkey linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:09   ` dave.hansen
2018-06-20 15:09     ` Dave Hansen
2018-06-20 15:09     ` Dave Hansen
2018-06-20 15:09     ` Dave Hansen
2018-07-17 16:05     ` linuxram
2018-07-17 16:05       ` Ram Pai
2018-07-17 16:05       ` Ram Pai
2018-07-17 16:05       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 18/24] selftests/vm: fix an assertion in test_pkey_alloc_exhaust() linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:11   ` dave.hansen
2018-06-20 15:11     ` Dave Hansen
2018-06-20 15:11     ` Dave Hansen
2018-06-20 15:11     ` Dave Hansen
2018-07-17 16:08     ` linuxram
2018-07-17 16:08       ` Ram Pai
2018-07-17 16:08       ` Ram Pai
2018-07-17 16:08       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 19/24] selftests/vm: associate key on a mapped page and detect access violation linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:16   ` dave.hansen
2018-06-20 15:16     ` Dave Hansen
2018-06-20 15:16     ` Dave Hansen
2018-06-20 15:16     ` Dave Hansen
2018-07-17 16:13     ` linuxram
2018-07-17 16:13       ` Ram Pai
2018-07-17 16:13       ` Ram Pai
2018-07-17 16:13       ` Ram Pai
2018-07-17 17:56       ` dave.hansen
2018-07-17 17:56         ` Dave Hansen
2018-07-17 17:56         ` Dave Hansen
2018-07-17 17:56         ` Dave Hansen
2018-07-17 19:10         ` linuxram
2018-07-17 19:10           ` Ram Pai
2018-07-17 19:10           ` Ram Pai
2018-07-17 19:10           ` Ram Pai
2018-06-14  0:45 ` linuxram [this message]
2018-06-14  0:45   ` [PATCH v13 20/24] selftests/vm: associate key on a mapped page and detect write violation Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 21/24] selftests/vm: detect write violation on a mapped access-denied-key page linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 22/24] selftests/vm: testcases must restore pkey-permissions linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:20   ` dave.hansen
2018-06-20 15:20     ` Dave Hansen
2018-06-20 15:20     ` Dave Hansen
2018-06-20 15:20     ` Dave Hansen
2018-07-17 16:09     ` linuxram
2018-07-17 16:09       ` Ram Pai
2018-07-17 16:09       ` Ram Pai
2018-07-17 16:09       ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 23/24] selftests/vm: sub-page allocator linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45 ` [PATCH v13 24/24] selftests/vm: test correct behavior of pkey-0 linuxram
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-14  0:45   ` Ram Pai
2018-06-20 15:22   ` dave.hansen
2018-06-20 15:22     ` Dave Hansen
2018-06-20 15:22     ` Dave Hansen
2018-06-20 15:22     ` Dave Hansen
2018-06-14 20:19 ` [PATCH v13 00/24] selftests, powerpc, x86 : Memory Protection Keys fweimer
2018-06-14 20:19   ` Florian Weimer
2018-06-14 20:19   ` Florian Weimer
2018-06-14 20:19   ` Florian Weimer
2018-06-14 20:19   ` Florian Weimer
2018-06-15  0:58   ` linuxram
2018-06-15  0:58     ` Ram Pai
2018-06-15  0:58     ` Ram Pai
2018-06-15  0:58     ` Ram Pai
2018-06-15  0:58     ` Ram Pai

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=1528937115-10132-21-git-send-email-linuxram@us.ibm.com \
    --to=unknown@example.com \
    /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 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.