aboutsummaryrefslogtreecommitdiffstats
path: root/mm/migrate.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index 253474c22239..b1d02127e1be 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1862,7 +1862,7 @@ fail_putback:
1862 */ 1862 */
1863 flush_cache_range(vma, mmun_start, mmun_end); 1863 flush_cache_range(vma, mmun_start, mmun_end);
1864 page_add_anon_rmap(new_page, vma, mmun_start); 1864 page_add_anon_rmap(new_page, vma, mmun_start);
1865 pmdp_clear_flush(vma, mmun_start, pmd); 1865 pmdp_clear_flush_notify(vma, mmun_start, pmd);
1866 set_pmd_at(mm, mmun_start, pmd, entry); 1866 set_pmd_at(mm, mmun_start, pmd, entry);
1867 flush_tlb_range(vma, mmun_start, mmun_end); 1867 flush_tlb_range(vma, mmun_start, mmun_end);
1868 update_mmu_cache_pmd(vma, address, &entry); 1868 update_mmu_cache_pmd(vma, address, &entry);
@@ -1870,6 +1870,7 @@ fail_putback:
1870 if (page_count(page) != 2) { 1870 if (page_count(page) != 2) {
1871 set_pmd_at(mm, mmun_start, pmd, orig_entry); 1871 set_pmd_at(mm, mmun_start, pmd, orig_entry);
1872 flush_tlb_range(vma, mmun_start, mmun_end); 1872 flush_tlb_range(vma, mmun_start, mmun_end);
1873 mmu_notifier_invalidate_range(mm, mmun_start, mmun_end);
1873 update_mmu_cache_pmd(vma, address, &entry); 1874 update_mmu_cache_pmd(vma, address, &entry);
1874 page_remove_rmap(new_page); 1875 page_remove_rmap(new_page);
1875 goto fail_putback; 1876 goto fail_putback;