boxscore/security
CVE · referencelatest edition

Reference page — cumulative record through Sunday, October 4, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.

CVE-2026-64428

Linux Linux — gpio: sch: use raw_spinlock_t in the irq startup path
  AV  AC  PR  UI  S  C  I  A   CVSS    EPSS   %ile   KEV
   L   L   L   N  U  N  N  H    5.5   .0016    4.9     —
AFFECTED
  Product  Versions                                    Fixed
  Linux    7a81638485c1a62a87b4c391ecc9c651a4a9dc19 –  —
  Linux    5.13 –                                      5.15.212
TIMELINE
  Jul 19  Reserved by Linux
  Jul 25  Published (CNA: Linux)
  Sep 4   ENRICHED — CVE-2026-64428 (Linux). Received CVSS 5.5 and CPE data from NVD.
CNA: Linux · CVSS v3.1 · 7 references · NVD status: Analyzed

Description

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.

Lifecycle

Complete event history — 3 events, chronological
DateEventDetail
July 19, 2026ReservedReserved by Linux
July 25, 2026PublishedPublished (CNA: Linux)
September 4, 2026ENRICHEDENRICHED — CVE-2026-64428 (Linux). Received CVSS 5.5 and CPE data from NVD.

Affected

Affected products and packages — 2 rows
VendorProduct / PackageEcosystemVersion introducedFixed
LinuxLinux—7a81638485c1a62a87b4c391ecc9c651a4a9dc19—
LinuxLinux—5.135.15.212

References (7)

Related

Authoritative record: CVE-2026-64428 at cve.org

Vendors: linux

About this page

This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2026-64428 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Sunday, October 4, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.