diff --git a/mm/memory.c b/mm/memory.c index 785ef5e778e9..729f02b262ba 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2970,8 +2970,9 @@ 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 | __GFP_CMA, - vma, vmf->address); + page = alloc_page_vma(GFP_HIGHUSER_MOVABLE | __GFP_CMA + | __GFP_OFFLINABLE, vma, + vmf->address); if (page) { __SetPageLocked(page); __SetPageSwapBacked(page);