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

Summary

CVECVE-2026-64429
StatePUBLISHED
AssignerLinux
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-07-25 10:17:27 UTC
Updated2026-07-25 10:17:27 UTC
DescriptionIn 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.

Risk And Classification

EPSS: 0.002200000 probability, percentile 0.125870000 (date 2026-07-25)

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 96612bf2712cd961dbd9b52f3a9b4ab668f57628 git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 581ac2ad001ff1128931191f249a7f2074672b7a git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 e244cd8b51001ba480f274c44dba9002813a4739 git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 19d63fd528719ce7d06d9aeb88d25b7d6478198a git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 6112fba4150039ccd90e29f2d1b788c73ad7b3dd git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 4750909a40da9016185e0ac991510a278cecb1e7 git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 5c3c9ec1172a4c3384b8b800b3a8896cc2c1b20e git Not specified
CNA Linux Linux affected 25518e024e3a6e5715d672f1daa91e1d100f7436 90f0109019e6817eb40a486671b7722d1544ae29 git Not specified
CNA Linux Linux affected 4.17 Not specified
CNA Linux Linux unaffected 4.17 semver Not specified
CNA Linux Linux unaffected 5.10.261 5.10.* semver Not specified
CNA Linux Linux unaffected 5.15.212 5.15.* semver Not specified
CNA Linux Linux unaffected 6.1.178 6.1.* semver Not specified
CNA Linux Linux unaffected 6.6.145 6.6.* semver Not specified
CNA Linux Linux unaffected 6.12.96 6.12.* semver Not specified
CNA Linux Linux unaffected 6.18.39 6.18.* semver Not specified
CNA Linux Linux unaffected 7.1.4 7.1.* semver Not specified
CNA Linux Linux unaffected 7.2-rc1 * original_commit_for_fix Not specified

References

ReferenceSourceLinkTags
git.kernel.org/stable/c/90f0109019e6817eb40a486671b7722d1544ae29 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/e244cd8b51001ba480f274c44dba9002813a4739 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/5c3c9ec1172a4c3384b8b800b3a8896cc2c1b20e 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/96612bf2712cd961dbd9b52f3a9b4ab668f57628 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/19d63fd528719ce7d06d9aeb88d25b7d6478198a 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/6112fba4150039ccd90e29f2d1b788c73ad7b3dd 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/4750909a40da9016185e0ac991510a278cecb1e7 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/581ac2ad001ff1128931191f249a7f2074672b7a 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report