diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 5c3305e0507861321e9a81a3f344f6e04c726956..b10b7f17ea58d414576ded22b3c1b713fb06d6b6 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -320,7 +320,8 @@ phys_pmd_init(pmd_t *pmd_page, unsigned long address, unsigned long end) } if (pmd_val(*pmd)) { - phys_pte_update(pmd, address, end); + if (!pmd_large(*pmd)) + phys_pte_update(pmd, address, end); continue; }