]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/i386/mm/fault.c
Fix lazy mode vmalloc synchronization for paravirt
[net-next-2.6.git] / arch / i386 / mm / fault.c
index 01ffdd4964f08e9bec86c5ae759da9f5cbe8270a..fcb38e7f35434113896abc3caad887c9aad665d1 100644 (file)
@@ -249,9 +249,10 @@ static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address)
        pmd_k = pmd_offset(pud_k, address);
        if (!pmd_present(*pmd_k))
                return NULL;
-       if (!pmd_present(*pmd))
+       if (!pmd_present(*pmd)) {
                set_pmd(pmd, *pmd_k);
-       else
+               arch_flush_lazy_mmu_mode();
+       } else
                BUG_ON(pmd_page(*pmd) != pmd_page(*pmd_k));
        return pmd_k;
 }