Executive brief
A vulnerability was identified in the Linux kernel's Industrial I/O (IIO) subsystem affecting certain Analog Devices IMU sensors. The issue occurs when the system attempts to initialize these sensors, potentially leading to a system crash (kernel panic). This could impact the availability of industrial equipment or embedded systems relying on these specific hardware drivers.
Technical details
A NULL pointer dereference exists in the adis_init() function within drivers/iio/imu/adis.c. The function attempts to dereference adis->ops to check for individual function pointers (write, read, reset) without first verifying if the ops structure itself is NULL. Because struct adis is zero-initialized by devm_iio_device_alloc(), drivers that do not define custom operations (such as adis16480, adis16490, and adis16545) trigger this dereference during the probe sequence. This results in a kernel oops/panic. The issue has been resolved by adding a check for adis->ops before dereferencing, allowing the code to correctly fall back to default operations.
Affected products
- Linux Linux Kernel adis16480, adis16490, adis16545 drivers
Timeline
- 2026-02-20: other: Patch authored
- 2026-05-08: disclosed: CVE published