From: Mihai Carabas Date: Mon, 13 Aug 2018 18:49:53 +0000 (+0300) Subject: x86/pgtable.h: fix PMD/PUD mask X-Git-Tag: v4.1.12-124.31.3~588 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=50c164c875e83a80019d96bc18f2c64e39e6a979;p=users%2Fjedix%2Flinux-maple.git x86/pgtable.h: fix PMD/PUD mask Fix commit 4b9ccc49725729d5026d764cd17c9d3e33de296a (x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation). On UEK4 we did not have pmd_pfn_mask/pud_pfn_mask and assumed PTE_PFN_MASK. Orabug: 28492122 Signed-off-by: Mihai Carabas Reviewed-by: Dhaval Giani --- diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 83aff9af2cc8..555250799059 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -156,14 +156,14 @@ static inline unsigned long pmd_pfn(pmd_t pmd) { phys_addr_t pfn = pmd_val(pmd); pfn ^= protnone_mask(pfn); - return (pfn & PTE_PFN_MASK) >> PAGE_SHIFT; + return (pfn & pmd_pfn_mask(pmd)) >> PAGE_SHIFT; } static inline unsigned long pud_pfn(pud_t pud) { phys_addr_t pfn = pud_val(pud); pfn ^= protnone_mask(pfn); - return (pfn & PTE_PFN_MASK) >> PAGE_SHIFT; + return (pfn & pud_pfn_mask(pud)) >> PAGE_SHIFT; } #define pte_page(pte) pfn_to_page(pte_pfn(pte))