Skip to content

Commit 4e06e71

Browse files
Ram Paitorvalds
authored andcommitted
selftests/vm/pkeys: detect write violation on a mapped access-denied-key page
Detect write-violation on a page to which access-disabled key is associated much after the page is mapped. Signed-off-by: Ram Pai <[email protected]> Signed-off-by: Sandipan Das <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Acked-by: Dave Hansen <[email protected]> Cc: Dave Hansen <[email protected]> Cc: Florian Weimer <[email protected]> Cc: "Desnes A. Nunes do Rosario" <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Thiago Jung Bauermann <[email protected]> Cc: "Aneesh Kumar K.V" <[email protected]> Cc: Michael Ellerman <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Michal Suchanek <[email protected]> Cc: Shuah Khan <[email protected]> Link: http://lkml.kernel.org/r/6a7dd4069ee18a2a51b207a55aa197f3f3c59753.1585646528.git.sandipan@linux.ibm.com Signed-off-by: Linus Torvalds <[email protected]>
1 parent 39351c1 commit 4e06e71

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

tools/testing/selftests/vm/protection_keys.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,6 +1027,18 @@ void test_write_of_access_disabled_region(int *ptr, u16 pkey)
10271027
*ptr = __LINE__;
10281028
expected_pkey_fault(pkey);
10291029
}
1030+
1031+
void test_write_of_access_disabled_region_with_page_already_mapped(int *ptr,
1032+
u16 pkey)
1033+
{
1034+
*ptr = __LINE__;
1035+
dprintf1("disabling access; after accessing the page, "
1036+
" to PKEY[%02d], doing write\n", pkey);
1037+
pkey_access_deny(pkey);
1038+
*ptr = __LINE__;
1039+
expected_pkey_fault(pkey);
1040+
}
1041+
10301042
void test_kernel_write_of_access_disabled_region(int *ptr, u16 pkey)
10311043
{
10321044
int ret;
@@ -1423,6 +1435,7 @@ void (*pkey_tests[])(int *ptr, u16 pkey) = {
14231435
test_write_of_write_disabled_region,
14241436
test_write_of_write_disabled_region_with_page_already_mapped,
14251437
test_write_of_access_disabled_region,
1438+
test_write_of_access_disabled_region_with_page_already_mapped,
14261439
test_kernel_write_of_access_disabled_region,
14271440
test_kernel_write_of_write_disabled_region,
14281441
test_kernel_gup_of_access_disabled_region,

0 commit comments

Comments
 (0)