Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: iio: health: max30102: fix NULL dereference in interrupt handler The interrupt is requested in max30102_probe() and stays enabled for the lifetime of the device, but indio_dev->active_scan_mask is only valid while a buffer is enabled. When an interrupt arrives while no buffer is enabled, the handler dereferences the NULL active_scan_mask: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Call trace: __bitmap_weight+0x64/0x98 (P) max30102_interrupt_handler+0x48/0x160 [max30102] Call max30102_fifo_count() at the top of the handler and return early unless it reports a FIFO sample is ready. Because FIFO_RDY is the only interrupt source enabled in max30102_chip_init(), an invocation of max30102_interrupt_handler() without the FIFO_RDY interrupt status bit set carries no data to read and can return before touching active_scan_mask. A negative return from max30102_fifo_count() indicates a failed interrupt status read and is treated the same way.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 90579b69e94bf11ea0745ff003e82a6ce9725f96 before 2a74f30a7bb305cdc5c3e3e9239b32bb84f3529f; affected 90579b69e94bf11ea0745ff003e82a6ce9725f96 before eeb23ba97bd8016e815ef70300b8d34a0a316b90; affected 90579b69e94bf11ea0745ff003e82a6ce9725f96 before 60699102827fdb51f9591414165359c8e867f302; affected 90579b69e94bf11ea0745ff003e82a6ce9725f96 before 8d6f98972fe2bd6f73f39d982af0c85d766a1503; affected 90579b69e94bf11ea0745ff003e82a6ce9725f96 before f0ea4824deebf21dacfbe397c4b0a5fd3e745a8d |
| Linux / Linux | affected 4.16; unaffected 0 before 4.16; unaffected 6.6.160 through 6.6.*; unaffected 6.12.113 through 6.12.*; unaffected 6.18.56 through 6.18.*; unaffected 7.2.10 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/2a74f30a7bb305cdc5c3e3e9239b32bb84f3529f
- https://git.kernel.org/stable/c/eeb23ba97bd8016e815ef70300b8d34a0a316b90
- https://git.kernel.org/stable/c/60699102827fdb51f9591414165359c8e867f302
- https://git.kernel.org/stable/c/8d6f98972fe2bd6f73f39d982af0c85d766a1503
- https://git.kernel.org/stable/c/f0ea4824deebf21dacfbe397c4b0a5fd3e745a8d