Import Source
https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-97731.json
JSON Data
https://api.osv.dev/v1/vulns/AZL-97731
Upstream
Published
2026-08-26T15:17:11Z
Modified
2026-08-30T05:26:50Z
Summary
CVE-2026-80562 affecting package kernel 6.6.150.1-1
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.

References

Affected packages

Azure Linux:3 / kernel

Package

Name
kernel
Purl
pkg:rpm/azure-linux/kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Last affected
6.6.150.1-1

Database specific

source
"https://github.com/microsoft/AzureLinuxVulnerabilityData/blob/main/osv/AZL-97731.json"