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 2013/02/04 08:59 PM, Greg Kroah-Hartman wrote:
> 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,

Actually, I sent a patch for staging-next (message id
<1359989570-3995-1-git-send-email-abbotti@xxxxxxxxx>), followed by a
patch with the same subject line for staging-linus or master (message id
<1359989780-4184-1-git-send-email-abbotti@xxxxxxxxx>), followed by this
revised version of the latter patch.

I.e. there are two patches with subject line "[PATCH] staging: comedi:
check s->async for poll(), read() and write()", one of which should
apply to staging-next.  I'll resend the first one privately just in case
you've already deleted it, since it's already been sent publicly.

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@xxxxxxxxx>             )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587              )=-
_______________________________________________
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