CVE-2026-80562
Received Received - Intake

GPIO: ml-ioh Raw Spinlock Conversion for Register Lock

Vulnerability report for CVE-2026-80562, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-26

Last updated on: 2026-08-26

Assigner: kernel.org

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-26
Last Modified
2026-08-26
Generated
2026-08-26
AI Q&A
2026-08-26
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux_kernel linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves a locking issue in the Linux kernel's GPIO driver for the Intel I/O Hub (ml-ioh). The driver incorrectly uses a regular spinlock in contexts where hardirqs are disabled and non-sleepable operations are required. On PREEMPT_RT systems, this can cause problems because regular spinlocks become sleepable locks, leading to potential deadlocks or crashes.

Detection Guidance

This vulnerability is specific to the Linux kernel's GPIO driver for Intel I/O Hub (ml-ioh). Detection requires checking the kernel version and whether the affected driver is loaded. Use uname -a to check the kernel version and lsmod | grep ioh_gpio to see if the driver is loaded.

Impact Analysis

If you are using a Linux system with the affected GPIO driver and a PREEMPT_RT kernel, this vulnerability could cause system instability, crashes, or deadlocks during GPIO operations. It may affect systems relying on real-time processing or hardware interactions via GPIO.

Mitigation Strategies

Update the Linux kernel to a version that includes the fix for this vulnerability. The fix converts the register lock to raw_spinlock_t to avoid issues with PREEMPT_RT. Check your distribution's security updates or kernel patches.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-80562. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart