]> Pileus Git - ~andy/linux/commit
staging: comedi: fix result of memdup_user for user chanlist
authorBernd Porr <mail@berndporr.me.uk>
Wed, 11 Dec 2013 16:06:15 +0000 (16:06 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2013 21:10:40 +0000 (13:10 -0800)
commite56b1401056288a725d50942ef300dcbed5e519a
tree58e619e30e3fd508e975d72dffb732fc5e0bfa98
parentb163970fa5b54c28445e503d18a3baca596f056e
staging: comedi: fix result of memdup_user for user chanlist

If the channel list is not set in userspace we get an error at
PTR_ERR(async->cmd.chanlist). However, do_become_nonbusy(dev, s) cleans
up this pointer which causes a kernel ooops. Setting the channel list in
async to NULL and checking this in do_become_nonbusy prevents the oops.

[Ian Abbott] Also do the same for the chanlist allocated in
do_cmdtest_ioctl().

Signed-off-by: Bernd Porr <mail@berndporr.me.uk>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/comedi_fops.c