In the Linux kernel, the following vulnerability has been resolved: comedi: pcl812: Fix bit shift out of bounds When checking for a supported IRQ number, the following test is used: if ((1 << it->options[1]) & board->irq_bits) { However, `it->options[i]` is an unchecked `int` value from userspace, so the shift amount could be negative or out of bounds. Fix the test by requiring `it->options[1]` to be within bounds before proceeding with the original test. Valid `it->options[1]` values that select the IRQ will be in the range [1,15]. The value 0 explicitly disables the use of interrupts.
https://git.kernel.org/stable/c/b14b076ce593f72585412fc7fd3747e03a5e3632
https://git.kernel.org/stable/c/a27e27eee313fe1c450b6af1e80e64412546cab4
https://git.kernel.org/stable/c/7e470d8efd10725b189ca8951973a8425932398a
https://git.kernel.org/stable/c/5bfa301e1e59a9b1a7b62a800b54852337c97416
https://git.kernel.org/stable/c/374d9b3eb4b08407997ef1fce96119d31e0c0bc4
https://git.kernel.org/stable/c/29ef03e5b84431171d6b77b822985b54bc44b793
https://git.kernel.org/stable/c/16c173abee315953fd17a279352fec4a1faee862
https://git.kernel.org/stable/c/0489c30d080f07cc7f09d04de723d8c2ccdb61ef