lkml.org 
[lkml]   [2022]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 003/158] x86/mm: Use proper mask when setting PUD mapping
    Date
    From: Aaron Lu <aaron.lu@intel.com>

    commit 88e0a74902f894fbbc55ad3ad2cb23b4bfba555c upstream.

    Commit c164fbb40c43f("x86/mm: thread pgprot_t through
    init_memory_mapping()") mistakenly used __pgprot() which doesn't respect
    __default_kernel_pte_mask when setting PUD mapping.

    Fix it by only setting the one bit we actually need (PSE) and leaving
    the other bits (that have been properly masked) alone.

    Fixes: c164fbb40c43 ("x86/mm: thread pgprot_t through init_memory_mapping()")
    Signed-off-by: Aaron Lu <aaron.lu@intel.com>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/x86/mm/init_64.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/arch/x86/mm/init_64.c
    +++ b/arch/x86/mm/init_64.c
    @@ -645,7 +645,7 @@ phys_pud_init(pud_t *pud_page, unsigned
    pages++;
    spin_lock(&init_mm.page_table_lock);

    - prot = __pgprot(pgprot_val(prot) | __PAGE_KERNEL_LARGE);
    + prot = __pgprot(pgprot_val(prot) | _PAGE_PSE);

    set_pte_init((pte_t *)pud,
    pfn_pte((paddr & PUD_MASK) >> PAGE_SHIFT,

    \
     
     \ /
      Last update: 2022-08-23 14:07    [W:4.192 / U:0.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site