]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - mm/madvise.c
Revert "rmap: do not call mmu_notifier_invalidate_page() under ptl"
[mirror_ubuntu-artful-kernel.git] / mm / madvise.c
index 9976852f1e1cb25c986cf69c1846ba8f17e981fd..23ed525bc2bc1367dde306cd6a1fd24a5d6b5bae 100644 (file)
@@ -320,6 +320,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
 
        tlb_remove_check_page_size_change(tlb, PAGE_SIZE);
        orig_pte = pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
+       flush_tlb_batched_pending(mm);
        arch_enter_lazy_mmu_mode();
        for (; addr != end; pte++, addr += PAGE_SIZE) {
                ptent = *pte;
@@ -367,8 +368,8 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
                                pte_offset_map_lock(mm, pmd, addr, &ptl);
                                goto out;
                        }
-                       put_page(page);
                        unlock_page(page);
+                       put_page(page);
                        pte = pte_offset_map_lock(mm, pmd, addr, &ptl);
                        pte--;
                        addr -= PAGE_SIZE;