|
@@ -1531,8 +1531,6 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
|
|
|
if (vma->vm_ops->page_mkwrite(vma, old_page) < 0)
|
|
|
goto unwritable_page;
|
|
|
|
|
|
- page_cache_release(old_page);
|
|
|
-
|
|
|
/*
|
|
|
* Since we dropped the lock we need to revalidate
|
|
|
* the PTE as someone else may have changed it. If
|
|
@@ -1541,6 +1539,7 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
|
|
|
*/
|
|
|
page_table = pte_offset_map_lock(mm, pmd, address,
|
|
|
&ptl);
|
|
|
+ page_cache_release(old_page);
|
|
|
if (!pte_same(*page_table, orig_pte))
|
|
|
goto unlock;
|
|
|
}
|