CVE-2026-64500

Source
https://cve.org/CVERecord?id=CVE-2026-64500
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64500.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-64500
Downstream
Published
2026-07-25T08:51:56.053Z
Modified
2026-07-27T04:03:22.711336859Z
Summary
iio: adc: lpc32xx: Initialize completion before requesting IRQ
Details

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

iio: adc: lpc32xx: Initialize completion before requesting IRQ

In the report from Jaeyoung Chung:

"lpc32xxadcprobe() in drivers/iio/adc/lpc32xxadc.c registers its interrupt handler with devmrequestirq() before it initializes st->completion with initcompletion(). If an interrupt arrives after devmrequestirq() and before init_completion(), the handler calls complete() on an uninitialized completion, causing a kernel panic.

The probe path, in lpc32xxadcprobe():

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 */

lpc32xxadcisr() calls complete():

complete(&st->completion);

If the device raises an interrupt before initcompletion() runs, complete() acquires the uninitialized wait.lock and walks the zeroed tasklist in swakeuplocked(). The zeroed tasklist makes listempty() return false, so swakeuplocked() 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 initcompletion() above devmrequest_irq().

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64500.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
7901b2a1453e48c9defff2c97c67d3089bf4df7a
Fixed
7090c0d29708ee305022d0ea7b37612b33242fa2
Fixed
0e33587967b356519aa6f220b5b43c6976320397
Fixed
1ddf7b6ffb8ebb22b92a184a9eaa76277ef0c7cd
Fixed
820c4f15353efe9a9429ae86ccceeaf4e0e4e585
Fixed
48eccc6caed4e62c0f199ab3a3772fa969cd3b2d
Fixed
9e2e8b8cdfd37ae7c7a8a5c96c59e98a768731c4
Fixed
2f18c5551aa97ca7f39dbb151c67c9053ccadc17
Fixed
e561b35633f450ee607e87a6401d97f156a0cd54

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64500.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.12.0
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.96
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.39
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64500.json"