Skip to main content
CVE-2026-64429VulnerabilityPublished 07/25/2026Updated 09/03/2026

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()… (CVE-2026-64429)

Source GCVE Database

0
CVSS 3.1 base score
5.5Medium
How severe the flaw is on the 0–10 CVSS scale.
Exploitation

Not in CISA KEV, no exploitation reported

EPSS
0.09% chance of exploitation in 30 days – higher than 0% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

What to do

AI-suggested

A fix is available that converts the Spreadtrum EIC controller lock to raw_spinlock_t to ensure non-sleeping behavior in the irq startup path. Users should apply the official Linux kernel updates that include this fix. No further mitigation steps are indicated.

Description

A vulnerability in the Linux kernel's Spreadtrum EIC controller lock was resolved by converting the lock to raw_spinlock_t to prevent sleeping in an invalid context during IRQ startup. The issue involved the use of a regular spinlock_t in a non-sleepable path, which on PREEMPT_RT kernels becomes a sleeping lock, causing kernel BUGs.

Impact

This vulnerability can cause kernel BUGs due to sleeping functions being called from invalid contexts in the irq startup path, potentially leading to system instability or crashes. There is no indication of confidentiality, integrity, or availability impact beyond causing kernel panics or hangs.

Summary

The Linux kernel vulnerability CVE-2026-64429 involves the Spreadtrum EIC controller's locking mechanism in the irq startup path. The function sprd_eic_irq_unmask() enables the GPIO IRQ and updates controller state using sprd_eic_update(), which acquires sprd_eic->lock with spin_lock_irqsave(). On PREEMPT_RT kernels, spinlock_t can become a sleeping lock, but the irq_startup() path is non-sleepable, leading to a kernel BUG due to a sleeping function called from an invalid context. The fix converts the lock to raw_spinlock_t, which is non-sleeping, appropriate for the irqchip callbacks that only serialize MMIO register updates without sleepable operations.

Weaknesses

References

Community reviews

Loading reviews…