cveboard RSS feed

CVE-2026-64428

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

gpio: sch: use raw_spinlock_t in the irq startup path

In the Linux kernel, the following vulnerability has been resolved: gpio: sch: use raw_spinlock_t in the irq startup path sch_irq_unmask() enables the GPIO IRQ and then updates the controller state through sch_irq_mask_unmask(), which takes sch->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() -> sch_irq_unmask() -> sch_irq_mask_unmask() carrier and used the original spin_lock_irqsave(&sch->lock) edge. Lockdep reported: BUG: sleeping function called from invalid context hardirqs last disabled at ... __setup_irq.constprop.0 ... [vuln_msv] sch_rt_spin_lock_irqsave+0x1c/0x30 [vuln_msv] sch_irq_mask_unmask.constprop.0+0x31/0x70 [vuln_msv] __setup_irq.constprop.0+0xd/0x30 [vuln_msv] Convert the SCH controller lock to raw_spinlock_t. The same lock is also used by the GPIO direction and value callbacks, but those critical sections only update MMIO-backed GPIO registers and do not contain sleepable operations. Keeping this register lock non-sleeping is therefore appropriate for the irqchip callbacks and does not change the GPIO-side locking contract.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgit3b1aa05ec27eeccc889ecaa3f2d9baa9f453e50dUnavailableNone listed
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgit4f03a15cc73c83740fc355ee22b336492d17b4daUnavailableNone listed
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgit7a550256d68bbdfa0903ab1c4595c04a6815493aUnavailableNone listed
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgita235cec779bb39ec8f961a935b28a2ce278c6c64UnavailableNone listed
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgit4508366ab7dd0c2917a51a9c2e23cc1b9d35157aUnavailableNone listed
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgit41cad91a09d69e8fff4e936db29b1054b4e9f9f7UnavailableNone listed
7a81638485c1a62a87b4c391ecc9c651a4a9dc19affectedgit286533cb14a3c8a8bd39ff64ea2fc8e1aa0f638bUnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
5.13affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver5.13UnavailableNone listed
5.15.212unaffectedsemverUnavailable5.15.*None listed
6.1.178unaffectedsemverUnavailable6.1.*None listed
6.6.145unaffectedsemverUnavailable6.6.*None listed
6.12.97unaffectedsemverUnavailable6.12.*None listed
6.18.39unaffectedsemverUnavailable6.18.*None listed
7.1.4unaffectedsemverUnavailable7.1.*None listed
7.2unaffectedoriginal_commit_for_fixUnavailable*None listed