On Mon 17-03-14 13:53:35, Dave Hansen wrote: > On 03/17/2014 12:49 PM, Jan Kara wrote: > > +int get_vaddr_pfns(unsigned long start, int nr_pfns, int write, int force, > > + struct pinned_pfns *pfns) > > +{ > ... > > + if (!(vma->vm_flags & (VM_IO | VM_PFNMAP))) { > > + pfns->got_ref = 1; > > + pfns->is_pages = 1; > > + ret = get_user_pages(current, mm, start, nr_pfns, write, force, > > + pfns_vector_pages(pfns), NULL); > > + goto out; > > + } > > Have you given any thought to how this should deal with VM_MIXEDMAP > vmas? get_user_pages() will freak when it hits the !vm_normal_page() > test on the pfnmapped ones, and jump out. Shouldn't get_vaddr_pfns() be > able to handle those too? It could and it doesn't seem as a big complication. Although none of the converted drivers need this functionality, I guess it makes sense to implement this to make the API more consistent. So I can have a look at it for the next iteration. Honza -- Jan Kara <jack@xxxxxxx> SUSE Labs, CR -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>