]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
x86/pgtable.h: fix PMD/PUD mask
authorMihai Carabas <mihai.carabas@oracle.com>
Mon, 13 Aug 2018 18:49:53 +0000 (21:49 +0300)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 13 Aug 2018 22:44:30 +0000 (15:44 -0700)
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 <mihai.carabas@oracle.com>
Reviewed-by: Dhaval Giani <dhaval.giani@oracle.com>
arch/x86/include/asm/pgtable.h

index 83aff9af2cc876d8cb2028dd14e1e1d6878c084f..555250799059e2fa21288986f2100e0e01195457 100644 (file)
@@ -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))