|
@@ -2653,7 +2653,8 @@ static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
|
|
goto oom_free_page;
|
|
goto oom_free_page;
|
|
|
|
|
|
entry = mk_pte(page, vma->vm_page_prot);
|
|
entry = mk_pte(page, vma->vm_page_prot);
|
|
- entry = maybe_mkwrite(pte_mkdirty(entry), vma);
|
|
|
|
|
|
+ if (vma->vm_flags & VM_WRITE)
|
|
|
|
+ entry = pte_mkwrite(pte_mkdirty(entry));
|
|
|
|
|
|
page_table = pte_offset_map_lock(mm, pmd, address, &ptl);
|
|
page_table = pte_offset_map_lock(mm, pmd, address, &ptl);
|
|
if (!pte_none(*page_table))
|
|
if (!pte_none(*page_table))
|