lkml.org 
[lkml]   [2017]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC v6 55/62] selftest/vm: associate key on a mapped page and detect access violation
    Date
    detect access-violation on a page to which access-disabled
    key is associated much after the page is mapped.

    Signed-off-by: Ram Pai <linuxram@us.ibm.com>
    ---
    tools/testing/selftests/vm/protection_keys.c | 19 +++++++++++++++++++
    1 files changed, 19 insertions(+), 0 deletions(-)

    diff --git a/tools/testing/selftests/vm/protection_keys.c b/tools/testing/selftests/vm/protection_keys.c
    index 37645a5..bf27bcd 100644
    --- a/tools/testing/selftests/vm/protection_keys.c
    +++ b/tools/testing/selftests/vm/protection_keys.c
    @@ -1008,6 +1008,24 @@ void test_read_of_access_disabled_region(int *ptr, u16 pkey)
    dprintf1("*ptr: %d\n", ptr_contents);
    expected_pkey_fault(pkey);
    }
    +
    +void test_read_of_access_disabled_region_with_page_already_mapped(int *ptr,
    + u16 pkey)
    +{
    + int ptr_contents;
    +
    + dprintf1("disabling access to PKEY[%02d], doing read @ %p\n",
    + pkey, ptr);
    + ptr_contents = read_ptr(ptr);
    + dprintf1("reading ptr before disabling the read : %d\n",
    + ptr_contents);
    + rdpkey_reg();
    + pkey_access_deny(pkey);
    + ptr_contents = read_ptr(ptr);
    + dprintf1("*ptr: %d\n", ptr_contents);
    + 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);
    @@ -1303,6 +1321,7 @@ void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey)
    void (*pkey_tests[])(int *ptr, u16 pkey) = {
    test_read_of_write_disabled_region,
    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_access_disabled_region,
    test_kernel_write_of_access_disabled_region,
    --
    1.7.1
    \
     
     \ /
      Last update: 2017-07-16 06:04    [W:3.349 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site