CVE-2026-64602
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().
How to fix
- Linux Linuxaea8ae6c4d3ed58d9223360f758df6bd8b90c608, 67a49ab41320b3f721ce4be7447754ff040acbd5, a50757398794aaa25f908b96c6733e045466cba4, f3f90bc7b38ba3ff14f131cea0f8eb77624787a8, 37077d8271b1f24894fbc21bca1c4cd337525d31, bbfebae473ac2c8a194523b29ccb9b45f02f134c, eb5b07c9d0ec1a9d4b6871b14793c19967d79dc4, 3ee2128b6f0eb0be7b6cb8f6e0f1f113a65201a0 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < aea8ae6c4d3ed58d9223360f758df6bd8b90c608, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < 67a49ab41320b3f721ce4be7447754ff040acbd5, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < a50757398794aaa25f908b96c6733e045466cba4, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < f3f90bc7b38ba3ff14f131cea0f8eb77624787a8, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < 37077d8271b1f24894fbc21bca1c4cd337525d31, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < bbfebae473ac2c8a194523b29ccb9b45f02f134c, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < eb5b07c9d0ec1a9d4b6871b14793c19967d79dc4, b586e5d9eee038b8ee6f846cdb6cf2fcbcb2f4ed ≤ v < 3ee2128b6f0eb0be7b6cb8f6e0f1f113a65201a0, 3.16 | aea8ae6c4d3ed58d9223360f758df6bd8b90c608, 67a49ab41320b3f721ce4be7447754ff040acbd5, a50757398794aaa25f908b96c6733e045466cba4, f3f90bc7b38ba3ff14f131cea0f8eb77624787a8, 37077d8271b1f24894fbc21bca1c4cd337525d31, bbfebae473ac2c8a194523b29ccb9b45f02f134c, eb5b07c9d0ec1a9d4b6871b14793c19967d79dc4, 3ee2128b6f0eb0be7b6cb8f6e0f1f113a65201a0 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.