|
@@ -1852,7 +1852,7 @@ fail_putback:
|
|
|
* guarantee the copy is visible before the pagetable update.
|
|
|
*/
|
|
|
flush_cache_range(vma, mmun_start, mmun_end);
|
|
|
- page_add_new_anon_rmap(new_page, vma, mmun_start);
|
|
|
+ page_add_anon_rmap(new_page, vma, mmun_start);
|
|
|
pmdp_clear_flush(vma, mmun_start, pmd);
|
|
|
set_pmd_at(mm, mmun_start, pmd, entry);
|
|
|
flush_tlb_range(vma, mmun_start, mmun_end);
|
|
@@ -1877,6 +1877,10 @@ fail_putback:
|
|
|
spin_unlock(ptl);
|
|
|
mmu_notifier_invalidate_range_end(mm, mmun_start, mmun_end);
|
|
|
|
|
|
+ /* Take an "isolate" reference and put new page on the LRU. */
|
|
|
+ get_page(new_page);
|
|
|
+ putback_lru_page(new_page);
|
|
|
+
|
|
|
unlock_page(new_page);
|
|
|
unlock_page(page);
|
|
|
put_page(page); /* Drop the rmap reference */
|