--- a/mm/gup.c~mm-vma-replace-all-remaining-open-encodings-with-vma_is_anonymous +++ a/mm/gup.c @@ -351,7 +351,8 @@ static struct page *no_page_table(struct * But we can only make this optimization where a hole would surely * be zero-filled if handle_mm_fault() actually did handle it. */ - if ((flags & FOLL_DUMP) && (!vma->vm_ops || !vma->vm_ops->fault)) + if ((flags & FOLL_DUMP) && + (vma_is_anonymous(vma) || !vma->vm_ops->fault)) return ERR_PTR(-EFAULT); return NULL; }