Impact
In the Linux kernel spear ADC driver, the interrupt handler is registered before the completion structure it uses is initialized. If the hardware triggers an interrupt at that narrow window, the handler performs a complete() on an uninitialized completion. This race condition forces the kernel to read an invalid wait lock and a zeroed task list, leading to a wild‑memory‑access and a system kernel panic that can reboot the device or allow a local attacker to crash the kernel. The crash is a denial‑of‑service that could also provide a foothold for local privilege escalation if the attacker can influence the device or its interrupts.
Affected Systems
All Linux kernel releases that include the spear ADC driver (drivers/iio/adc/spear_adc.c) before the commit that moved init_completion() above devm_request_irq(). The vulnerability applies to all kernel builds with this driver, regardless of vendor, as the Common Platform Enumeration lists every Linux kernel.
Risk and Exploitability
The flaw is a local privilege or device‑dependent race that requires the presence of the spear ADC hardware and the driver being loaded. No remote exploitation surface is described, and the complexity is high because the attacker must trigger a spurious interrupt during initialization. While the EPSS score is not available, the lack of KEV listing and the severity of a kernel panic give the vulnerability a high impact rating that warrants prompt remediation.
OpenCVE Enrichment