From: Frank Mori Hess Date: Mon, 15 Dec 2008 13:48:47 +0000 (+0000) Subject: Staging: comedi: fix bug with invalid minor number usage. X-Git-Tag: v2.6.30-rc1~202^2~321 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=53b670a75bef4bf6484bbf6ca6a896c365676fd4;p=~shefty%2Frdma-dev.git Staging: comedi: fix bug with invalid minor number usage. Return error instead of segfaulting if user trys to run comedi_config on a device file with and invalid minor number. From: Frank Mori Hess Cc: Ian Abbott Cc: David Schleef Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c index 1464f550a5a..fbd3d1c6c64 100644 --- a/drivers/staging/comedi/comedi_fops.c +++ b/drivers/staging/comedi/comedi_fops.c @@ -104,9 +104,13 @@ static int comedi_ioctl(struct inode *inode, struct file *file, const unsigned minor = iminor(file->f_dentry->d_inode); struct comedi_device_file_info *dev_file_info = comedi_get_device_file_info(minor); - comedi_device *dev = dev_file_info->device; + comedi_device *dev; int rc; + if (dev_file_info == NULL || dev_file_info->device == NULL) + return -ENODEV; + dev = dev_file_info->device; + mutex_lock(&dev->mutex); /* Device config is special, because it must work on