lkml.org 
[lkml]   [2018]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 27/37] x86/mm/pti: Keep permissions when cloning kernel text in pti_clone_kernel_text()
    Date
    From: Joerg Roedel <jroedel@suse.de>

    Mapping the kernel text area to user-space makes only sense
    if it has the same permissions as in the kernel page-table.
    If permissions are different this will cause a TLB reload
    when using the kernel page-table, which is as good as not
    mapping it at all.

    On 64-bit kernels this patch makes no difference, as the
    whole range cloned by pti_clone_kernel_text() is mapped RO
    anyway. On 32 bit there are writeable mappings in the range,
    so just keep the permissions as they are.

    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    ---
    arch/x86/mm/pti.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
    index 9cceae3..e3059bb0 100644
    --- a/arch/x86/mm/pti.c
    +++ b/arch/x86/mm/pti.c
    @@ -460,7 +460,7 @@ void pti_clone_kernel_text(void)
    if (!pti_kernel_image_global_ok())
    return;

    - pti_clone_pmds(start, end, _PAGE_RW);
    + pti_clone_pmds(start, end, 0);
    }

    /*
    --
    2.7.4
    \
     
     \ /
      Last update: 2018-04-23 17:52    [W:2.909 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site