diff options
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 3 |
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; |