CVE-2026-80562

Source
https://cve.org/CVERecord?id=CVE-2026-80562
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80562.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-80562
Downstream
Published
2026-08-26T14:37:27.171Z
Modified
2026-08-28T03:47:29.075949205Z
Summary
gpio: ml-ioh: use raw_spinlock_t for the register lock
Details

In the Linux kernel, the following vulnerability has been resolved:

gpio: ml-ioh: use rawspinlockt for the register lock

iohirqtype() is registered as the irqchip .irqsettype callback and takes chip->spinlock with spinlock_irqsave(). This callback is reached from __setup_irq() -> __irqsettrigger() -> chip->irqsettype() while the caller holds desc->lock, a rawspinlockt, with hardirqs disabled. That context is not sleepable, but on PREEMPTRT a regular spinlockt is an rtmutex-backed sleeping lock, so acquiring it there is invalid. iohirqenable() and iohirqdisable() take the same lock from the .irqenable/.irqdisable callbacks, which are likewise invoked with desc->lock held.

Convert the register lock to rawspinlockt. 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 .irqsettype 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 rawspinlockt for the register lock"); this driver shares the same structure as gpio-pch.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80562.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
54be566317b6aece2389a95bb19ea209af9359be
Fixed
431b10133113537660a6090a2856b0d74d1b06de
Fixed
359e6b1168c9a62a7bd214ace476aaa2d57eebe8
Fixed
63d2230e5076c12f93d2a1d1bff2fbbf6cf32f3c
Fixed
b6505a4cea45dd92eb753581b1ad9b524b5fcc34
Fixed
84be002b40d30c56a91873b236e2d9001bbee363
Fixed
bc7934d0acd4fc1c7e5b7c68debdb4a991121628
Fixed
0559b86611c35d342dd48542ea26a9e437046bf6
Fixed
600411ea1f2443fdf5b1af9b6480f616d7aff9d0

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80562.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.2.0
Fixed
5.10.267
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.218
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.185
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.154
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.106
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.46
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.10

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80562.json"