Executive brief
A vulnerability in the Linux kernel's LPC32xx ADC driver could cause a system crash (kernel panic). This occurs during the initial setup of the hardware driver if an interrupt signal is received before the system is fully ready to handle it. An exploit would result in a complete loss of system availability.
Technical details
A race condition exists in the lpc32xx_adc_probe() function within drivers/iio/adc/lpc32xx_adc.c. The driver registers its interrupt handler using devm_request_irq() before initializing the 'st->completion' structure via init_completion(). If a spurious interrupt occurs between these two calls, the interrupt service routine (lpc32xx_adc_isr) attempts to call complete() on uninitialized memory, resulting in a NULL pointer dereference and a kernel panic. The fix involves reordering the probe sequence to ensure synchronization primitives are initialized before the interrupt handler is active.
Affected products
- Linux Linux 7901b2a1453e to 7.1
Timeline
- 2026-06-12: other: Patch authored
- 2026-07-25: advisory: CVE published
References
- https://git.kernel.org/stable/c/0e33587967b356519aa6f220b5b43c6976320397
- https://git.kernel.org/stable/c/1ddf7b6ffb8ebb22b92a184a9eaa76277ef0c7cd
- https://git.kernel.org/stable/c/2f18c5551aa97ca7f39dbb151c67c9053ccadc17
- https://git.kernel.org/stable/c/48eccc6caed4e62c0f199ab3a3772fa969cd3b2d
- https://git.kernel.org/stable/c/7090c0d29708ee305022d0ea7b37612b33242fa2
- https://git.kernel.org/stable/c/820c4f15353efe9a9429ae86ccceeaf4e0e4e585
- https://git.kernel.org/stable/c/9e2e8b8cdfd37ae7c7a8a5c96c59e98a768731c4