-

CVE-2026-64500

iio: adc: lpc32xx: Initialize completion before requesting IRQ

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().
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 7090c0d29708ee305022d0ea7b37612b33242fa2
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 0e33587967b356519aa6f220b5b43c6976320397
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 1ddf7b6ffb8ebb22b92a184a9eaa76277ef0c7cd
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 820c4f15353efe9a9429ae86ccceeaf4e0e4e585
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 48eccc6caed4e62c0f199ab3a3772fa969cd3b2d
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 9e2e8b8cdfd37ae7c7a8a5c96c59e98a768731c4
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < 2f18c5551aa97ca7f39dbb151c67c9053ccadc17
Status affected
Version 7901b2a1453e48c9defff2c97c67d3089bf4df7a
Version < e561b35633f450ee607e87a6401d97f156a0cd54
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 4.12
Status affected
Version 0
Version < 4.12
Status unaffected
Version <= 5.10.*
Version 5.10.261
Status unaffected
Version <= 5.15.*
Version 5.15.212
Status unaffected
Version <= 6.1.*
Version 6.1.178
Status unaffected
Version <= 6.6.*
Version 6.6.145
Status unaffected
Version <= 6.12.*
Version 6.12.96
Status unaffected
Version <= 6.18.*
Version 6.18.39
Status unaffected
Version <= 7.1.*
Version 7.1.4
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.17% 0.061
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/7090c0d29708ee305022d0ea7b37612b33242fa2
https://git.kernel.org/stable/c/0e33587967b356519aa6f220b5b43c6976320397
https://git.kernel.org/stable/c/1ddf7b6ffb8ebb22b92a184a9eaa76277ef0c7cd
https://git.kernel.org/stable/c/820c4f15353efe9a9429ae86ccceeaf4e0e4e585
https://git.kernel.org/stable/c/48eccc6caed4e62c0f199ab3a3772fa969cd3b2d
https://git.kernel.org/stable/c/9e2e8b8cdfd37ae7c7a8a5c96c59e98a768731c4
https://git.kernel.org/stable/c/2f18c5551aa97ca7f39dbb151c67c9053ccadc17
https://git.kernel.org/stable/c/e561b35633f450ee607e87a6401d97f156a0cd54