On Fri, 13 Sep 2019, Paolo Bonzini wrote:

> On 13/09/19 15:02, Greg Kroah-Hartman wrote:
> > Look at linux-next, we "should" have fixed up hcd_buffer_alloc() now to
> > not need this type of thing.  If we got it wrong, please let us know and
> > then yes, a fix like this would be most appreciated :)
> 
> I still see
> 
>       /* some USB hosts just use PIO */
>       if (!hcd_uses_dma(hcd)) {
>               *dma = ~(dma_addr_t) 0;
>               return kmalloc(size, mem_flags);
>       }
> 
> in linux-next's hcd_buffer_alloc and also in usb.git's usb-next branch.
>  I also see the same
> 
>       if (remap_pfn_range(vma, vma->vm_start,
>                       virt_to_phys(usbm->mem) >> PAGE_SHIFT,
>                       size, vma->vm_page_prot) < 0) {
>               ...
>       }
> 
> in usbdev_mmap.  Of course it's possible that I'm looking at the wrong
> branch, or just being dense.

Have you seen

        https://marc.info/?l=linux-usb&m=156758511218419&w=2

?  It certainly is relevant, although Greg hasn't replied to it.

There have been other messages on the mailing list about this issue,
but I haven't tried to keep track of them.

Also, just warning about a non-page-aligned allocation doesn't really 
help.  It would be better to fix the misbehaving allocator.

Alan Stern

Reply via email to