diff --git a/mm/memory.c b/mm/memory.c index 88e6f145e858..19f8a2a2a852 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3145,8 +3145,8 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) if (!page) { if (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);