diff --git a/mm/memory.c b/mm/memory.c
index 47c533eaa0721c558eddcc68dfa6c8de1f2844ef..d22f78c8a381a2dbcc78fbb4f15c7e4ef8f9125f 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1009,7 +1009,7 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
 			continue;
 		}
 
-		if (!vma || (vma->vm_flags & VM_IO)
+		if (!vma || (vma->vm_flags & (VM_IO | VM_PFNMAP))
 				|| !(vm_flags & vma->vm_flags))
 			return i ? : -EFAULT;