|
@@ -1426,7 +1426,7 @@ int do_huge_pmd_numa_page(struct vm_fault *vmf, pmd_t pmd)
|
|
|
}
|
|
|
|
|
|
/* See similar comment in do_numa_page for explanation */
|
|
|
- if (!pmd_write(pmd))
|
|
|
+ if (!pmd_savedwrite(pmd))
|
|
|
flags |= TNF_NO_GROUP;
|
|
|
|
|
|
/*
|
|
@@ -1489,7 +1489,7 @@ int do_huge_pmd_numa_page(struct vm_fault *vmf, pmd_t pmd)
|
|
|
goto out;
|
|
|
clear_pmdnuma:
|
|
|
BUG_ON(!PageLocked(page));
|
|
|
- was_writable = pmd_write(pmd);
|
|
|
+ was_writable = pmd_savedwrite(pmd);
|
|
|
pmd = pmd_modify(pmd, vma->vm_page_prot);
|
|
|
pmd = pmd_mkyoung(pmd);
|
|
|
if (was_writable)
|
|
@@ -1744,7 +1744,7 @@ int change_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
|
|
|
entry = pmdp_huge_get_and_clear_notify(mm, addr, pmd);
|
|
|
entry = pmd_modify(entry, newprot);
|
|
|
if (preserve_write)
|
|
|
- entry = pmd_mkwrite(entry);
|
|
|
+ entry = pmd_mk_savedwrite(entry);
|
|
|
ret = HPAGE_PMD_NR;
|
|
|
set_pmd_at(mm, addr, pmd, entry);
|
|
|
BUG_ON(vma_is_anonymous(vma) && !preserve_write &&
|