aboutsummaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
Diffstat (limited to 'mm')
-rw-r--r--mm/huge_memory.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 6bd22902d289..eb00e81601a5 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -1166,7 +1166,7 @@ alloc:
1166 1166
1167 if (unlikely(!new_page)) { 1167 if (unlikely(!new_page)) {
1168 count_vm_event(THP_FAULT_FALLBACK); 1168 count_vm_event(THP_FAULT_FALLBACK);
1169 if (is_huge_zero_pmd(orig_pmd)) { 1169 if (!page) {
1170 ret = do_huge_pmd_wp_zero_page_fallback(mm, vma, 1170 ret = do_huge_pmd_wp_zero_page_fallback(mm, vma,
1171 address, pmd, orig_pmd, haddr); 1171 address, pmd, orig_pmd, haddr);
1172 } else { 1172 } else {
@@ -1190,7 +1190,7 @@ alloc:
1190 goto out; 1190 goto out;
1191 } 1191 }
1192 1192
1193 if (is_huge_zero_pmd(orig_pmd)) 1193 if (!page)
1194 clear_huge_page(new_page, haddr, HPAGE_PMD_NR); 1194 clear_huge_page(new_page, haddr, HPAGE_PMD_NR);
1195 else 1195 else
1196 copy_user_huge_page(new_page, page, haddr, vma, HPAGE_PMD_NR); 1196 copy_user_huge_page(new_page, page, haddr, vma, HPAGE_PMD_NR);
@@ -1215,7 +1215,7 @@ alloc:
1215 page_add_new_anon_rmap(new_page, vma, haddr); 1215 page_add_new_anon_rmap(new_page, vma, haddr);
1216 set_pmd_at(mm, haddr, pmd, entry); 1216 set_pmd_at(mm, haddr, pmd, entry);
1217 update_mmu_cache_pmd(vma, address, pmd); 1217 update_mmu_cache_pmd(vma, address, pmd);
1218 if (is_huge_zero_pmd(orig_pmd)) { 1218 if (!page) {
1219 add_mm_counter(mm, MM_ANONPAGES, HPAGE_PMD_NR); 1219 add_mm_counter(mm, MM_ANONPAGES, HPAGE_PMD_NR);
1220 put_huge_zero_page(); 1220 put_huge_zero_page();
1221 } else { 1221 } else {