diff --git a/[refs] b/[refs] index 9df10f7bab9e..d27c48c2149f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f05b6284ee5d3be51ebe22284fc4b25fc586f380 +refs/heads/master: c3704ceb4ad055b489b143f4e37c57d128908012 diff --git a/trunk/mm/memory.c b/trunk/mm/memory.c index ef09f0acb1d8..0047d3a4e364 100644 --- a/trunk/mm/memory.c +++ b/trunk/mm/memory.c @@ -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; }