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

Greg Kroah-Hartman gregkh at linuxfoundation.org
Mon Feb 4 18:49:57 UTC 2013


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?

> Check `s->async` is non-NULL in `comedi_poll()`, `comedi_read()` and
> `comedi_write()` to avoid the bug.
> 
> Signed-off-by: Ian Abbott <abbotti at mev.co.uk>
> ---
> 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?

thanks,

greg k-h



More information about the devel mailing list