diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 3fff490254a96fd24ea4bbf15d77a5163d191052..ad8b9733d6b3fee4d2f90e2981e54dc2b71299e4 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -240,7 +240,8 @@ void dump_pagetable(unsigned long address) pud = pud_offset(pgd, address); if (bad_address(pud)) goto bad; printk("PUD %lx ", pud_val(*pud)); - if (!pud_present(*pud)) goto ret; + if (!pud_present(*pud) || pud_large(*pud)) + goto ret; pmd = pmd_offset(pud, address); if (bad_address(pmd)) goto bad;