CVE-2026-64500

CVE-2026-64500

published July 25, 2026

CVSS
—
EPSS
0%
Percentile
5.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

iio: adc: lpc32xx: Initialize completion before requesting IRQ

In the report from Jaeyoung Chung:

"lpc32xx_adc_probe() in drivers/iio/adc/lpc32xx_adc.c registers its

interrupt handler with devm_request_irq() before it initializes

st->completion with init_completion(). If an interrupt arrives after

devm_request_irq() and before init_completion(), the handler calls

complete() on an uninitialized completion, causing a kernel panic.

The probe path, in lpc32xx_adc_probe():

iodev = devm_iio_device_alloc(&pdev->dev, sizeof(*st)); /* st kzalloc-zeroed */

...

retval = devm_request_irq(&pdev->dev, irq, lpc32xx_adc_isr, 0,

LPC32XXAD_NAME, st); /* register handler */

...

init_completion(&st->completion); /* initialize completion */

lpc32xx_adc_isr() calls complete():

complete(&st->completion);

If the device raises an interrupt before init_completion() runs,

complete() acquires the uninitialized wait.lock and walks the zeroed

task_list in swake_up_locked(). The zeroed task_list makes list_empty()

return false, so swake_up_locked() dereferences a NULL list entry,

triggering a KASAN wild-memory-access."

Fix the chance of a spurious IRQ causing an uninitialized pointer

dereference by moving init_completion() above devm_request_irq().

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00165 · 5.4th percentile
Published
2026-07-25T14:17Z
References (8)
EPSS history
Timeline
  • 25 JUL 08:51Z
    iio: adc: lpc32xx: Initialize completion before requesting IRQ
    cvelistv5