get_user_pages: don't try to follow PFNMAP pages

Nick Piggin points out that a few drivers play games with VM_IO (why?
who knows..) and thus a pfn-remapped area may not have that bit set even
if remap_pfn_range() set it originally.

So make it explicit in get_user_pages() that we don't follow VM_PFNMAP
pages, since pretty much by definition they do not have a "struct page"
associated with them.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>

+1 -1
+1 -1
mm/memory.c
··· 1009 continue; 1010 } 1011 1012 - if (!vma || (vma->vm_flags & VM_IO) 1013 || !(vm_flags & vma->vm_flags)) 1014 return i ? : -EFAULT; 1015
··· 1009 continue; 1010 } 1011 1012 + if (!vma || (vma->vm_flags & (VM_IO | VM_PFNMAP)) 1013 || !(vm_flags & vma->vm_flags)) 1014 return i ? : -EFAULT; 1015