CVE-2025-68330

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

VendorProductVersion RangeStatus
LinuxLinuxc16bff4844ffa678ba0c9d077e9797506924ccdd < aad9d048a3211c48ec02efa405bf462856feb862affected
LinuxLinuxc16bff4844ffa678ba0c9d077e9797506924ccdd < c891f504bb66604c822e7985e093cf39b97fdeb0affected
LinuxLinuxc16bff4844ffa678ba0c9d077e9797506924ccdd < cdd4a9e98004bd7c7488311951fa6dbae38b2b80affected
LinuxLinuxc16bff4844ffa678ba0c9d077e9797506924ccdd < 65ad4ed983fd9ee0259d86391d6a53f78203918caffected
LinuxLinuxc16bff4844ffa678ba0c9d077e9797506924ccdd < 93eaa5ddc5fc4f50ac396afad8ce261102ebd4f3affected
LinuxLinuxc16bff4844ffa678ba0c9d077e9797506924ccdd < 3aa385a9c75c09b59dcab2ff76423439d23673abaffected
LinuxLinux4.2affected
LinuxLinux0 < 4.2unaffected
LinuxLinux5.15.197 <= 5.15.*unaffected
LinuxLinux6.1.159 <= 6.1.*unaffected
LinuxLinux6.6.119 <= 6.6.*unaffected
LinuxLinux6.12.61 <= 6.12.*unaffected
LinuxLinux6.17.11 <= 6.17.*unaffected
LinuxLinux6.18 <= *unaffected

Weaknesses

References