CVE-2025-68330
N/A
Summary
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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | c16bff4844ffa678ba0c9d077e9797506924ccdd < aad9d048a3211c48ec02efa405bf462856feb862 | affected |
| Linux | Linux | c16bff4844ffa678ba0c9d077e9797506924ccdd < c891f504bb66604c822e7985e093cf39b97fdeb0 | affected |
| Linux | Linux | c16bff4844ffa678ba0c9d077e9797506924ccdd < cdd4a9e98004bd7c7488311951fa6dbae38b2b80 | affected |
| Linux | Linux | c16bff4844ffa678ba0c9d077e9797506924ccdd < 65ad4ed983fd9ee0259d86391d6a53f78203918c | affected |
| Linux | Linux | c16bff4844ffa678ba0c9d077e9797506924ccdd < 93eaa5ddc5fc4f50ac396afad8ce261102ebd4f3 | affected |
| Linux | Linux | c16bff4844ffa678ba0c9d077e9797506924ccdd < 3aa385a9c75c09b59dcab2ff76423439d23673ab | affected |
| Linux | Linux | 4.2 | affected |
| Linux | Linux | 0 < 4.2 | unaffected |
| Linux | Linux | 5.15.197 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.159 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.119 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.61 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.11 <= 6.17.* | unaffected |
| Linux | Linux | 6.18 <= * | unaffected |
Weaknesses
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
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.