comedi: check data length for INSN_CONFIG_GET_PWM_OUTPUT
authorIan Abbott <abbotti@mev.co.uk>
Tue, 3 Jan 2023 15:11:27 +0000 (15:11 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2023 16:24:18 +0000 (17:24 +0100)
commit863cf33255faa5834d4d4f9e5df8fba0518b2060
treef5f1b4de15462d420fc6acca06f49eae34ed99fc
parent28ecbbae9ea459a0504e243668dae7c86eeedf9a
comedi: check data length for INSN_CONFIG_GET_PWM_OUTPUT

Comedi INSN_CONFIG instructions have different expected instructtion
data lengths depending on the type of configuration instruction
specified by the first word of data.  This is checked by
`check_insn_config_length()`.  There are a few configuration
instructions whose data lengths are not currently checked, usually for
rare configuration instructions that are implemented differently by
different drivers.  For unknown configuration instructions, the function
logs a warning and accepts the specified data length.

The `INSN_CONFIG_GET_PWM_OUTPUT` configuration instruction length is not
currently checked, but all the places it is currently used expect a data
length of 3.  (These places are `ni_get_pwm_config()` in
"ni_mio_common.c", and `pci1760_pwm_insn_config()` in "adv_pci1760.c".)
Make this length official by checking it in
`check_insn_config_length()`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Link: https://lore.kernel.org/r/20230103151127.19287-1-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/comedi/comedi_fops.c