diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index b2e32f9d0071062adbf033d4af1e10c2ce14a2d8..0ac6c5dc49ba0216276c605f269a7bc3ea01efda 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c @@ -244,6 +244,8 @@ pte_t xen_make_pte(unsigned long long pte) if (pte & 1) pte = phys_to_machine(XPADDR(pte)).maddr; + pte &= ~_PAGE_PCD; + return (pte_t){ pte, pte >> 32 }; } @@ -291,6 +293,8 @@ pte_t xen_make_pte(unsigned long pte) if (pte & _PAGE_PRESENT) pte = phys_to_machine(XPADDR(pte)).maddr; + pte &= ~_PAGE_PCD; + return (pte_t){ pte }; }