diff --git a/mm/memory.c b/mm/memory.c index 3a3e3c2ab506..ae8a5d946f1c 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2986,8 +2986,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) if (si->flags & SWP_SYNCHRONOUS_IO && __swap_count(entry) == 1) { /* skip swapcache */ - page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, - vmf->address); + page = alloc_page_vma(GFP_HIGHUSER_MOVABLE | __GFP_CMA, + vma, vmf->address); if (page) { __SetPageLocked(page); __SetPageSwapBacked(page);