Re: [PATCH v2] staging: comedi: check s->async for poll(), read() and write()

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

 



On Mon, Feb 04, 2013 at 07:57:15PM +0000, Ian Abbott wrote:
> On 04/02/2013 18:49, Greg Kroah-Hartman wrote:
> >On Mon, Feb 04, 2013 at 03:05:28PM +0000, Ian Abbott wrote:
> >>Some low-level comedi drivers (incorrectly) point `dev->read_subdev` or
> >>`dev->write_subdev` to a subdevice that does not support asynchronous
> >>commands.  Comedi's poll(), read() and write() file operation handlers
> >>assume these subdevices do support asynchronous commands.  In
> >>particular, they assume `s->async` is valid (where `s` points to the
> >>read or write subdevice), which it won't be if it has been set
> >>incorrectly.  This can lead to a NULL pointer dereference.
> >
> >Are there any specific drivers that cause this to happen?
> 
> comedi_test is one. I have a few others written on a piece of paper
> somewhere. :)
> 
> I plan to add some sanitization during postconfig (after the
> low-level driver's attach or auto_attach routine is called) to trim
> out the bits that it doesn't set up properly with a warning.
> 
> >>Check `s->async` is non-NULL in `comedi_poll()`, `comedi_read()` and
> >>`comedi_write()` to avoid the bug.
> >>
> >>Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
> >>---
> >>v2: Corrected silly mistake.  Deleted a line accidentally leading to
> >>compilation failure.
> >>Note: this is for Greg's staging-linus or master and stable kernels
> >
> >Can this wait until 3.9-rc1, and then backport to the 3.8.1 release and
> >older stable kernels?
> 
> Sure thing.

Turns out that this doesn't apply at all to my staging-next branch due
to the other changes in the tree.  Can you refresh it on staging-next
and resend?

thanks,

greg k-h
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux