diff options
-rw-r--r-- | mm/huge_memory.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 362c329b83fe..dab90fd67298 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c | |||
@@ -1265,7 +1265,9 @@ struct page *follow_trans_huge_pmd(struct vm_area_struct *vma, | |||
1265 | * young bit, instead of the current set_pmd_at. | 1265 | * young bit, instead of the current set_pmd_at. |
1266 | */ | 1266 | */ |
1267 | _pmd = pmd_mkyoung(pmd_mkdirty(*pmd)); | 1267 | _pmd = pmd_mkyoung(pmd_mkdirty(*pmd)); |
1268 | set_pmd_at(mm, addr & HPAGE_PMD_MASK, pmd, _pmd); | 1268 | if (pmdp_set_access_flags(vma, addr & HPAGE_PMD_MASK, |
1269 | pmd, _pmd, 1)) | ||
1270 | update_mmu_cache_pmd(vma, addr, pmd); | ||
1269 | } | 1271 | } |
1270 | if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) { | 1272 | if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) { |
1271 | if (page->mapping && trylock_page(page)) { | 1273 | if (page->mapping && trylock_page(page)) { |