From: Sandipan Das <sandipan@linux.ibm.com> To: shuah@kernel.org, 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, mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v17 20/24] selftests/vm/pkeys: Detect write violation on a mapped access-denied-key page Date: Mon, 20 Jan 2020 14:06:17 +0530 [thread overview] Message-ID: <7b07b258a5881acf0a9fcc786462810a27c7e687.1579507768.git.sandipan@linux.ibm.com> (raw) In-Reply-To: <cover.1579507768.git.sandipan@linux.ibm.com> In-Reply-To: <cover.1579507768.git.sandipan@linux.ibm.com> From: Ram Pai <linuxram@us.ibm.com> Detect write-violation on a page to which access-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> Signed-off-by: Sandipan Das <sandipan@linux.ibm.com> --- tools/testing/selftests/vm/protection_keys.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c index cb31a5cdf6d9..8bb4de103874 100644 --- a/tools/testing/selftests/vm/protection_keys.c +++ b/tools/testing/selftests/vm/protection_keys.c @@ -1027,6 +1027,18 @@ void test_write_of_access_disabled_region(int *ptr, u16 pkey) *ptr = __LINE__; expected_pkey_fault(pkey); } + +void test_write_of_access_disabled_region_with_page_already_mapped(int *ptr, + u16 pkey) +{ + *ptr = __LINE__; + dprintf1("disabling access; after accessing the page, " + " to PKEY[%02d], doing write\n", pkey); + pkey_access_deny(pkey); + *ptr = __LINE__; + expected_pkey_fault(pkey); +} + void test_kernel_write_of_access_disabled_region(int *ptr, u16 pkey) { int ret; @@ -1423,6 +1435,7 @@ void (*pkey_tests[])(int *ptr, u16 pkey) = { test_write_of_write_disabled_region, test_write_of_write_disabled_region_with_page_already_mapped, test_write_of_access_disabled_region, + test_write_of_access_disabled_region_with_page_already_mapped, test_kernel_write_of_access_disabled_region, test_kernel_write_of_write_disabled_region, test_kernel_gup_of_access_disabled_region, -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Sandipan Das <sandipan@linux.ibm.com> To: shuah@kernel.org, linux-kselftest@vger.kernel.org Cc: linux-arch@vger.kernel.org, fweimer@redhat.com, linux-mm@kvack.org, aneesh.kumar@linux.ibm.com, x86@kernel.org, linuxram@us.ibm.com, mhocko@kernel.org, dave.hansen@intel.com, mingo@redhat.com, msuchanek@suse.de, linuxppc-dev@lists.ozlabs.org, bauerman@linux.ibm.com Subject: [PATCH v17 20/24] selftests/vm/pkeys: Detect write violation on a mapped access-denied-key page Date: Mon, 20 Jan 2020 14:06:17 +0530 [thread overview] Message-ID: <7b07b258a5881acf0a9fcc786462810a27c7e687.1579507768.git.sandipan@linux.ibm.com> (raw) In-Reply-To: <cover.1579507768.git.sandipan@linux.ibm.com> In-Reply-To: <cover.1579507768.git.sandipan@linux.ibm.com> From: Ram Pai <linuxram@us.ibm.com> Detect write-violation on a page to which access-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> Signed-off-by: Sandipan Das <sandipan@linux.ibm.com> --- tools/testing/selftests/vm/protection_keys.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c index cb31a5cdf6d9..8bb4de103874 100644 --- a/tools/testing/selftests/vm/protection_keys.c +++ b/tools/testing/selftests/vm/protection_keys.c @@ -1027,6 +1027,18 @@ void test_write_of_access_disabled_region(int *ptr, u16 pkey) *ptr = __LINE__; expected_pkey_fault(pkey); } + +void test_write_of_access_disabled_region_with_page_already_mapped(int *ptr, + u16 pkey) +{ + *ptr = __LINE__; + dprintf1("disabling access; after accessing the page, " + " to PKEY[%02d], doing write\n", pkey); + pkey_access_deny(pkey); + *ptr = __LINE__; + expected_pkey_fault(pkey); +} + void test_kernel_write_of_access_disabled_region(int *ptr, u16 pkey) { int ret; @@ -1423,6 +1435,7 @@ void (*pkey_tests[])(int *ptr, u16 pkey) = { test_write_of_write_disabled_region, test_write_of_write_disabled_region_with_page_already_mapped, test_write_of_access_disabled_region, + test_write_of_access_disabled_region_with_page_already_mapped, test_kernel_write_of_access_disabled_region, test_kernel_write_of_write_disabled_region, test_kernel_gup_of_access_disabled_region, -- 2.17.1
next prev parent reply other threads:[~2020-01-20 8:38 UTC|newest] Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-20 8:35 [PATCH v16 00/23] selftests, powerpc, x86: Memory Protection Keys Sandipan Das 2020-01-20 8:35 ` [PATCH v17 " Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` [PATCH v16 " Sandipan Das 2020-01-20 8:35 ` [PATCH v17 01/24] selftests/x86/pkeys: Move selftests to arch-neutral directory Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` [PATCH v17 02/24] selftests: vm: pkeys: Fix multilib builds for x86 Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:35 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 03/24] selftests/vm/pkeys: Rename all references to pkru to a generic name Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 04/24] selftests/vm/pkeys: Move generic definitions to header file Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 05/24] selftests/vm/pkeys: Move some definitions to arch-specific header Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 06/24] selftests/vm/pkeys: Make gcc check arguments of sigsafe_printf() Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 07/24] selftests: vm: pkeys: Use sane types for pkey register Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 08/24] selftests: vm: pkeys: Add helpers for pkey bits Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 09/24] selftests/vm/pkeys: Fix pkey_disable_clear() Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 10/24] selftests/vm/pkeys: Fix assertion in pkey_disable_set/clear() Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 11/24] selftests/vm/pkeys: Fix alloc_random_pkey() to make it really random Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 12/24] selftests: vm: pkeys: Use the correct huge page size Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 13/24] selftests/vm/pkeys: Introduce generic pkey abstractions Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 14/24] selftests/vm/pkeys: Introduce powerpc support Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 15/24] selftests/vm/pkeys: Fix number of reserved powerpc pkeys Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 16/24] selftests/vm/pkeys: Fix assertion in test_pkey_alloc_exhaust() Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 17/24] selftests/vm/pkeys: Improve checks to determine pkey support Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 18/24] selftests/vm/pkeys: Associate key on a mapped page and detect access violation Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 19/24] selftests/vm/pkeys: Associate key on a mapped page and detect write violation Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das [this message] 2020-01-20 8:36 ` [PATCH v17 20/24] selftests/vm/pkeys: Detect write violation on a mapped access-denied-key page Sandipan Das 2020-01-20 8:36 ` [PATCH v17 21/24] selftests/vm/pkeys: Introduce a sub-page allocator Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 22/24] selftests/vm/pkeys: Test correct behaviour of pkey-0 Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 23/24] selftests/vm/pkeys: Override access right definitions on powerpc Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` [PATCH v17 24/24] selftests: vm: pkeys: Use the correct page size " Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-20 8:36 ` Sandipan Das 2020-01-22 18:45 ` [PATCH v16 00/23] selftests, powerpc, x86: Memory Protection Keys Dave Hansen 2020-01-22 18:45 ` Dave Hansen 2020-01-27 10:11 ` Sandipan Das 2020-01-27 10:11 ` Sandipan Das 2020-01-27 10:11 ` Sandipan Das 2020-01-27 15:42 ` Dave Hansen 2020-01-27 15:42 ` Dave Hansen 2020-01-28 9:38 ` Sandipan Das 2020-01-28 9:38 ` Sandipan Das 2020-01-29 9:56 ` Sandipan Das 2020-01-29 9:56 ` Sandipan Das 2020-01-29 18:59 ` Dave Hansen 2020-01-29 18:59 ` Dave Hansen 2020-01-30 6:19 ` Sandipan Das 2020-01-30 6:19 ` Sandipan Das 2020-01-30 9:20 ` Sandipan Das 2020-01-30 9:20 ` Sandipan Das 2020-01-29 19:04 ` Florian Weimer 2020-01-29 19:04 ` Florian Weimer 2020-01-29 19:04 ` Florian Weimer
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=7b07b258a5881acf0a9fcc786462810a27c7e687.1579507768.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=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: linkBe 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.