CVE-2026-64602

iio: adc: spear: Initialize completion before requesting IRQ

N/A
Published: August 6, 2026 at 07:13 AM UTC
Updated: August 17, 2026 at 05:18 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: iio: adc: spear: Initialize completion before requesting IRQ In the report from Jaeyoung Chung: "spear_adc_probe() in drivers/iio/adc/spear_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 spear_adc_probe(): iodev = devm_iio_device_alloc(&pdev->dev, sizeof(*st)); /* st kzalloc-zeroed */ ... retval = devm_request_irq(&pdev->dev, irq, spear_adc_isr, 0, LPC32XXAD_NAME, st); /* register handler */ ... init_completion(&st->completion); /* initialize completion */ spear_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().

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.16 ≤ v < 5.10.2613.16 ≤ v < 5.15.2123.16 ≤ v < 6.1.1783.16 ≤ v < 6.12.963.16 ≤ v < 6.18.393.16 ≤ v < 6.6.1453.16 ≤ v < 7.1.43.16 ≤ v < 7.23.16b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed
Vendor states this is fixed in 37077d8271b1f24894fbc21bca1c4cd337525d31 (fixed)
Vendor states this is fixed in 3ee2128b6f0eb0be7b6cb8f6e0f1f113a65201a0 (fixed)
Vendor states this is fixed in 67a49ab41320b3f721ce4be7447754ff040acbd5 (fixed)
Vendor states this is fixed in a50757398794aaa25f908b96c6733e045466cba4 (fixed)
Vendor states this is fixed in aea8ae6c4d3ed58d9223360f758df6bd8b90c608 (fixed)
Vendor states this is fixed in bbfebae473ac2c8a194523b29ccb9b45f02f134c (fixed)
Vendor states this is fixed in eb5b07c9d0ec1a9d4b6871b14793c19967d79dc4 (fixed)
Vendor states this is fixed in f3f90bc7b38ba3ff14f131cea0f8eb77624787a8 (fixed)
Vendor states this is fixed in 3.16 (unaffected)
Vendor states this is fixed in 5.10.261 (unaffected)
Vendor states this is fixed in 5.15.212 (unaffected)
Vendor states this is fixed in 6.1.178 (unaffected)
Vendor states this is fixed in 6.12.96 (unaffected)
Vendor states this is fixed in 6.18.39 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.1.4 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card