aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r--mm/memcontrol.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 26c6f4ec20f..37281816ff6 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5230,6 +5230,8 @@ static int mem_cgroup_count_precharge_pte_range(pmd_t *pmd,
5230 spinlock_t *ptl; 5230 spinlock_t *ptl;
5231 5231
5232 split_huge_page_pmd(walk->mm, pmd); 5232 split_huge_page_pmd(walk->mm, pmd);
5233 if (pmd_trans_unstable(pmd))
5234 return 0;
5233 5235
5234 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); 5236 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
5235 for (; addr != end; pte++, addr += PAGE_SIZE) 5237 for (; addr != end; pte++, addr += PAGE_SIZE)
@@ -5390,6 +5392,8 @@ static int mem_cgroup_move_charge_pte_range(pmd_t *pmd,
5390 spinlock_t *ptl; 5392 spinlock_t *ptl;
5391 5393
5392 split_huge_page_pmd(walk->mm, pmd); 5394 split_huge_page_pmd(walk->mm, pmd);
5395 if (pmd_trans_unstable(pmd))
5396 return 0;
5393retry: 5397retry:
5394 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); 5398 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
5395 for (; addr != end; addr += PAGE_SIZE) { 5399 for (; addr != end; addr += PAGE_SIZE) {