diff options
author | Frank Mori Hess <fmhess@users.sourceforge.net> | 2008-12-15 13:44:45 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-04-03 14:53:52 -0700 |
commit | a3cb729ef4a192f04179f780122df78ef1ffe779 (patch) | |
tree | 086bf22cf7404c7604d205224d00b2e952158553 /drivers/staging/comedi/comedi_fops.c | |
parent | 4c41f3ae3bf0bcc53f259b657c2fbc3961ff2b8a (diff) |
Staging: comedi: Added some validation of comedi module parameter values.
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: David Schleef <ds@schleef.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/comedi/comedi_fops.c')
-rw-r--r-- | drivers/staging/comedi/comedi_fops.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c index ed9f2bb8875..1464f550a5a 100644 --- a/drivers/staging/comedi/comedi_fops.c +++ b/drivers/staging/comedi/comedi_fops.c @@ -1911,6 +1911,22 @@ static int __init comedi_init(void) printk(KERN_INFO "comedi: version " COMEDI_RELEASE " - http://www.comedi.org\n"); + if (comedi_num_legacy_minors < 0 || + comedi_num_legacy_minors > COMEDI_NUM_BOARD_MINORS) { + printk(KERN_ERR "comedi: error: invalid value for module " + "parameter \"comedi_num_legacy_minors\". Valid values " + "are 0 through %i.\n", COMEDI_NUM_BOARD_MINORS); + return -EINVAL; + } + + /* + * comedi is unusable if both comedi_autoconfig and + * comedi_num_legacy_minors are zero, so we might as well adjust the + * defaults in that case + */ + if (comedi_autoconfig == 0 && comedi_num_legacy_minors == 0) + comedi_num_legacy_minors = 16; + memset(comedi_file_info_table, 0, sizeof(struct comedi_device_file_info *) * COMEDI_NUM_MINORS); |