CVE-2026-64428

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.

Package Linux Kernel
Published 2026-07-25
Last modified 2026-07-25
Patch available
Yes

Affected versions

Linux kernel versions 5.13 and later are affected. Fixed in 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.39, 7.1.4, 7.2-rc1 and their respective stable series.

Affected from
≥ 5.13
Fixed in
✓ 5.15.212 5.15.x ✓ 6.1.178 6.1.x ✓ 6.6.145 6.6.x ✓ 6.12.97 6.12.x ✓ 6.18.39 6.18.x ✓ 7.1.4 7.1.x ✓ 7.2-rc1

Frequently asked questions

  • What is CVE-2026-64428?

    CVE-2026-64428 is a unscored severity Linux kernel vulnerability . It affects Linux kernel versions from 5.13 onward and has been patched in 5.15.212, 6.1.178, 6.6.145 and others. CVE-2026-64428 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.

  • Is there a patch available for CVE-2026-64428?

    Yes. CVE-2026-64428 has been patched. Fixed versions include 5.15.212, 6.1.178, 6.6.145 and others. If you are running Linux kernel 5.13 or later up to the fix versions, apply the relevant patch for your kernel branch.

  • Is CVE-2026-64428 actively exploited?

    No. CVE-2026-64428 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.