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.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1Upgrade linux-6.12 | Aug 2, 2026 | Aug 2, 2026 |
| Redhat_linux | — | No solution exists | Jul 31, 2026 | Jul 25, 2026 |
| Ubuntu | — | Upgrade linux-image-7.0.0-1012-awsUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-gcp-64kUpgrade linux-image-gkeUpgrade linux-image-gke-64k-7.0Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-gke-64kUpgrade linux-image-oem-26.04aUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-raspiUpgrade linux-image-nvidia-bosUpgrade linux-image-gcpUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-7.0.0-1013-oemUpgrade linux-image-nvidia-7.0Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-generic-64kUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-ibm-7.0Upgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-aws-64kUpgrade linux-image-oem-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-generic-7.0Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-realtime-64kUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-oem-26.04Upgrade linux-image-generic-64k-7.0Upgrade linux-image-nvidiaUpgrade linux-image-virtual-7.0Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-gcp-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-virtualUpgrade linux-image-oem-26.04bUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-aws-7.0Upgrade linux-image-aws-64k-7.0Upgrade linux-image-ibmUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-realtime-7.0Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-awsUpgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-raspi-7.0Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-genericUpgrade linux-image-realtime | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 14, 2026 | Jul 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub