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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
c16bff4844ffa678ba0c9d077e9797506924ccdd to < aad9d048a3211c48ec02efa405bf462856feb862affectedc16bff4844ffa678ba0c9d077e9797506924ccdd to < c891f504bb66604c822e7985e093cf39b97fdeb0affectedc16bff4844ffa678ba0c9d077e9797506924ccdd to < cdd4a9e98004bd7c7488311951fa6dbae38b2b80affectedc16bff4844ffa678ba0c9d077e9797506924ccdd to < 65ad4ed983fd9ee0259d86391d6a53f78203918caffectedc16bff4844ffa678ba0c9d077e9797506924ccdd to < 93eaa5ddc5fc4f50ac396afad8ce261102ebd4f3affectedc16bff4844ffa678ba0c9d077e9797506924ccdd to < 3aa385a9c75c09b59dcab2ff76423439d23673abaffected
Linux Linux
Default version status: affected
4.2affected0 to < 4.2unaffected5.15.197 to ≤ 5.15.*unaffected6.1.159 to ≤ 6.1.*unaffected6.6.119 to ≤ 6.6.*unaffected6.12.61 to ≤ 6.12.*unaffected6.17.11 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/aad9d048a3211c48ec02efa405bf462856feb862 ↗
- https://git.kernel.org/stable/c/c891f504bb66604c822e7985e093cf39b97fdeb0 ↗
- https://git.kernel.org/stable/c/cdd4a9e98004bd7c7488311951fa6dbae38b2b80 ↗
- https://git.kernel.org/stable/c/65ad4ed983fd9ee0259d86391d6a53f78203918c ↗
- https://git.kernel.org/stable/c/93eaa5ddc5fc4f50ac396afad8ce261102ebd4f3 ↗
- https://git.kernel.org/stable/c/3aa385a9c75c09b59dcab2ff76423439d23673ab ↗