# CVE-2026-80562: gpio: ml-ioh: use raw_spinlock_t for the register lock

CVE-2026-80562 is fixed in 2 products on 1 platform, first by DEBIAN-CVE-2026-80562, released August 30, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-80562
- Priority: High
- CVSS: 7.1 (Moderate)
- EPSS: 0.0018
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Aug 26, 2026
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-80562

## Description

In the Linux kernel, the following vulnerability has been resolved:  gpio: ml-ioh: use raw_spinlock_t for the register lock  ioh_irq_type() is registered as the irq_chip .irq_set_type callback and takes chip->spinlock with spin_lock_irqsave().  This callback is reached from __setup_irq() -> __irq_set_trigger() -> chip->irq_set_type() while the caller holds desc->lock, a raw_spinlock_t, with hardirqs disabled. That context is not sleepable, but on PREEMPT_RT a regular spinlock_t is an rtmutex-backed sleeping lock, so acquiring it there is invalid. ioh_irq_enable() and ioh_irq_disable() take the same lock from the .irq_enable/.irq_disable callbacks, which are likewise invoked with desc->lock held.  Convert the register lock to raw_spinlock_t.  The same lock also serializes the GPIO direction/value callbacks and the suspend/resume register save/restore, and those critical sections only perform short sequences of MMIO register accesses (ioread32()/iowrite32()); the .irq_set_type callback additionally emits a dev_warn() on an unsupported type.  None of these are sleepable operations, so keeping this register lock non-sleeping is appropriate for the irqchip callbacks and does not change the GPIO-side locking contract.  This is the same fix as commit a02b8950d619 ("gpio: pch: use raw_spinlock_t for the register lock"); this driver shares the same structure as gpio-pch.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 12.15 (bookworm) | 6.1.187-1 | [DEBIAN-CVE-2026-80562](https://patchblox.com/security/data/fix/linux/debian-cve-2026-80562.md) | Aug 30, 2026 |
| Linux | linux Debian 13.5 (trixie) | 6.12.107-1 | [DEBIAN-CVE-2026-80562](https://patchblox.com/security/data/fix/linux/debian-cve-2026-80562.md) | Aug 30, 2026 |
| Linux | linux Debian 14 | 7.1.10-1 | [DEBIAN-CVE-2026-80562](https://patchblox.com/security/data/fix/linux/debian-cve-2026-80562.md) | Aug 30, 2026 |
| Linux | linux-6.12 Debian 12.15 (bookworm) | 6.12.107-1~deb12u1 | [DEBIAN-CVE-2026-80562](https://patchblox.com/security/data/fix/linux/debian-cve-2026-80562.md) | Aug 30, 2026 |

---

Data as of 2026-11-08T06:59:42Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
