Description
In the Linux kernel, the following vulnerability has been resolved: iio: accel: bmc150: Fix irq assumption regression The code in bmc150-accel-core.c unconditionally calls bmc150_accel_set_interrupt() in the iio_buffer_setup_ops, such as on the runtime PM resume path giving a kernel splat like this if the device has no interrupts: Unable to handle kernel NULL pointer dereference at virtual address 00000001 when read PC is at bmc150_accel_set_interrupt+0x98/0x194 LR is at __pm_runtime_resume+0x5c/0x64 (...) Call trace: bmc150_accel_set_interrupt from bmc150_accel_buffer_postenable+0x40/0x108 bmc150_accel_buffer_postenable from __iio_update_buffers+0xbe0/0xcbc __iio_update_buffers from enable_store+0x84/0xc8 enable_store from kernfs_fop_write_iter+0x154/0x1b4 This bug seems to have been in the driver since the beginning, but it only manifests recently, I do not know why. Store the IRQ number in the state struct, as this is a common pattern in other drivers, then use this to determine if we have IRQ support or not.
Product status
c16bff4844ffa678ba0c9d077e9797506924ccdd (git) before aad9d048a3211c48ec02efa405bf462856feb862
c16bff4844ffa678ba0c9d077e9797506924ccdd (git) before c891f504bb66604c822e7985e093cf39b97fdeb0
c16bff4844ffa678ba0c9d077e9797506924ccdd (git) before cdd4a9e98004bd7c7488311951fa6dbae38b2b80
c16bff4844ffa678ba0c9d077e9797506924ccdd (git) before 65ad4ed983fd9ee0259d86391d6a53f78203918c
c16bff4844ffa678ba0c9d077e9797506924ccdd (git) before 93eaa5ddc5fc4f50ac396afad8ce261102ebd4f3
c16bff4844ffa678ba0c9d077e9797506924ccdd (git) before 3aa385a9c75c09b59dcab2ff76423439d23673ab
4.2
Any version before 4.2
5.15.197 (semver)
6.1.159 (semver)
6.6.119 (semver)
6.12.61 (semver)
6.17.11 (semver)
6.18 (original_commit_for_fix)
References
git.kernel.org/...c/aad9d048a3211c48ec02efa405bf462856feb862
git.kernel.org/...c/c891f504bb66604c822e7985e093cf39b97fdeb0
git.kernel.org/...c/cdd4a9e98004bd7c7488311951fa6dbae38b2b80
git.kernel.org/...c/65ad4ed983fd9ee0259d86391d6a53f78203918c
git.kernel.org/...c/93eaa5ddc5fc4f50ac396afad8ce261102ebd4f3
git.kernel.org/...c/3aa385a9c75c09b59dcab2ff76423439d23673ab