mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 07:50:04 +00:00
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>
This commit is contained in:
parent
28ecbbae9e
commit
863cf33255
@ -1215,6 +1215,7 @@ static int check_insn_config_length(struct comedi_insn *insn,
|
||||
case INSN_CONFIG_GET_CLOCK_SRC:
|
||||
case INSN_CONFIG_SET_OTHER_SRC:
|
||||
case INSN_CONFIG_GET_COUNTER_STATUS:
|
||||
case INSN_CONFIG_GET_PWM_OUTPUT:
|
||||
case INSN_CONFIG_PWM_SET_H_BRIDGE:
|
||||
case INSN_CONFIG_PWM_GET_H_BRIDGE:
|
||||
case INSN_CONFIG_GET_HARDWARE_BUFFER_SIZE:
|
||||
|
Loading…
x
Reference in New Issue
Block a user