-

CVE-2026-80562

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

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.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < 431b10133113537660a6090a2856b0d74d1b06de
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < 359e6b1168c9a62a7bd214ace476aaa2d57eebe8
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < 63d2230e5076c12f93d2a1d1bff2fbbf6cf32f3c
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < b6505a4cea45dd92eb753581b1ad9b524b5fcc34
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < 84be002b40d30c56a91873b236e2d9001bbee363
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < bc7934d0acd4fc1c7e5b7c68debdb4a991121628
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < 0559b86611c35d342dd48542ea26a9e437046bf6
Status affected
Version 54be566317b6aece2389a95bb19ea209af9359be
Version < 600411ea1f2443fdf5b1af9b6480f616d7aff9d0
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 3.2
Status affected
Version 0
Version < 3.2
Status unaffected
Version <= 5.10.*
Version 5.10.267
Status unaffected
Version <= 5.15.*
Version 5.15.218
Status unaffected
Version <= 6.1.*
Version 6.1.185
Status unaffected
Version <= 6.6.*
Version 6.6.154
Status unaffected
Version <= 6.12.*
Version 6.12.106
Status unaffected
Version <= 6.18.*
Version 6.18.46
Status unaffected
Version <= 7.1.*
Version 7.1.10
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.18% 0.072
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/bc7934d0acd4fc1c7e5b7c68debdb4a991121628
https://git.kernel.org/stable/c/0559b86611c35d342dd48542ea26a9e437046bf6
https://git.kernel.org/stable/c/600411ea1f2443fdf5b1af9b6480f616d7aff9d0
https://git.kernel.org/stable/c/359e6b1168c9a62a7bd214ace476aaa2d57eebe8
https://git.kernel.org/stable/c/431b10133113537660a6090a2856b0d74d1b06de
https://git.kernel.org/stable/c/63d2230e5076c12f93d2a1d1bff2fbbf6cf32f3c
https://git.kernel.org/stable/c/84be002b40d30c56a91873b236e2d9001bbee363
https://git.kernel.org/stable/c/b6505a4cea45dd92eb753581b1ad9b524b5fcc34