Re: Line6 podstudio UX1 - driver crash on usb_hcd_map_urb_for_dma

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 27, 2019 at 08:07:28PM +0200, Greg KH wrote:
> On Sat, Apr 27, 2019 at 11:34:03AM -0400, Alan Stern wrote:
> > On Sat, 27 Apr 2019, Greg KH wrote:
> > 
> > > On Fri, Apr 26, 2019 at 11:50:14AM +0200, Christo Gouws wrote:
> > > > Hi,
> > > > 
> > > > I have a Line6 Pod Studio UX1 card, but each time I plug it in, I get
> > > > the following crash in dmesg on Ubuntu 18.04
> > > > Linux my-pc 4.20.8-042008-generic #201902121544 SMP Tue Feb 12
> > > > 20:46:50 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
> > > > 
> > > > I've also tested this with a Fedora 30 v5.0.6-300 kernel, but still
> > > > seems to happen (using liveCD).
> > > > 
> > > > 
> > > > The output on the card seems to work, but none of the inputs work.
> > > > 
> > > > I've also now tested with latest kernel available on Arch Linux
> > > > Linux my-pc 5.0.9-arch1-1-ARCH #1 SMP PREEMPT Sat Apr 20 15:00:46 UTC
> > > > 2019 x86_64 GNU/Linux
> > > > 
> > > > After some further testing, I found that this issue cropped in beween
> > > > v4.8.17 and v4.9-rc1.
> > > > 
> > > > v4.8.17   - Works fine.
> > > > v4.9-rc1+  - Produces crash
> > > 
> > > Any chance you can use 'git bisect' to find the exact commit that caused
> > > the failure?
> > 
> > No need.  The bug is in line6_read_data() in sound/usb/line6/driver.c.  
> > That routine passes an invalid buffer to usb_control_message().  
> > Instead it should allocate its own buffer for the USB transfer and then
> > copy the value to the caller's buffer.
> > 
> > There is a similar problem in line6_write_data().  Furthermore, both
> > routines do DMA to/from a buffer on the stack.
> 
> I have an old patch in my local tree for the dma buffer on the stack
> issue, it's below.  I should clean it up and send it correctly one of
> these days :)

But, in reading your response, it doesn't fix the reported issue here.
Let me go audit the whole driver and fix it up and add it to my original
patch...




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux