In the Linux kernel, the following vulnerability has been resolved:
comedi: Fail COMEDIINSNLIST ioctl if ninsns is too large
The handling of the COMEDI_INSNLIST ioctl allocates a kernel buffer to
hold the array of struct comedi_insn, getting the length from the
n_insns member of the struct comedi_insnlist supplied by the user.
The allocation will fail with a WARNING and a stack dump if it is too
large.
Avoid that by failing with an -EINVAL error if the supplied n_insns
value is unreasonable.
Define the limit on the n_insns value in the MAX_INSNS macro. Set
this to the same value as MAX_SAMPLES (65536), which is the maximum
allowed sum of the values of the member n in the array of struct
comedi_insn, and sensible comedi instructions will have an n of at
least 1.