CVE-2026-64429 gpio: eic-sprd: use raw_spinlock_t in the irq startup path

Medium 5.5 Published Updated

A race condition in the Spreadtrum EIC GPIO driver causes a kernel panic on PREEMPT_RT systems due to sleeping locks in atomic contexts.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-64429?

CVE-2026-64429 is a medium-severity vulnerability in Linux kernel, published on 25 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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

gpio: eic-sprd: use raw_spinlock_t in the irq startup path

sprd_eic_irq_unmask() enables the GPIO IRQ and then updates controller state through sprd_eic_update(), which takes sprd_eic->lock with spin_lock_irqsave(). The callback can be reached from irq_startup() while setting up a requested IRQ. That path is not sleepable, but on PREEMPT_RT a regular spinlock_t becomes a sleeping lock.

This issue was found by our static analysis tool and then manually reviewed against the current tree.

The grounded PoC kept the request_threaded_irq() -> __setup_irq() -> irq_startup() -> sprd_eic_irq_unmask() -> sprd_eic_update() carrier and used the original spin_lock_irqsave(&sprd_eic->lock) edge. Lockdep

BUG: sleeping function called from invalid context hardirqs last disabled at ... __setup_irq.constprop.0 ... [vuln_msv] sprd_rt_spin_lock_irqsave+0x1c/0x30 [vuln_msv] sprd_eic_update.constprop.0+0x48/0x90 [vuln_msv] sprd_eic_irq_unmask.constprop.0+0x35/0x50 [vuln_msv] __setup_irq.constprop.0+0xd/0x30 [vuln_msv]

Convert the Spreadtrum EIC controller lock to raw_spinlock_t. The locked section only serializes MMIO register updates and does not contain sleepable operations, so keeping it non-sleeping is appropriate for the irqchip callbacks.

Weakness: CWE-667

Which versions are affected by CVE-2026-64429?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-64429?

Apply the vendor's patch.

Is CVE-2026-64429 being exploited?

There is no known exploitation of CVE-2026-64429 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-93677, BELL-CVE-2026-64429, DEBIAN-CVE-2026-64429, GHSA-6pwp-xwgp-j72q, ROOT-OS-UBUNTU-2204-CVE-2026-64429, UBUNTU-CVE-2026-64429.

Is CVE-2026-64429 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free