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?
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to