{
  "cveId": "CVE-2026-74468",
  "url": "https://patchblox.com/security/cve/CVE-2026-74468",
  "summary": "CVE-2026-74468 is fixed in 2 products on 1 platform, first by DEBIAN-CVE-2026-74468, released August 16, 2026. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  gpio: pch: use raw_spinlock_t for the register l...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  gpio: pch: use raw_spinlock_t for the register lock  pch_irq_type() is registered as the irq_chip .irq_set_type callback and takes chip-\u003Espinlock with spin_lock_irqsave().  This callback is reached from __setup_irq() -\u003E __irq_set_trigger() -\u003E chip-\u003Eirq_set_type() while the caller holds desc-\u003Elock, 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.  This was confirmed on a PREEMPT_RT kernel with lockdep (PROVE_RAW_LOCK_NESTING and DEBUG_ATOMIC_SLEEP).  A grounded PoC mirrored pch_irq_type()\u0027s locking and drove it through the real genirq carrier irq_set_irq_type() -\u003E __irq_set_trigger() -\u003E chip-\u003Eirq_set_type(), i.e. the same __irq_set_trigger() edge that __setup_irq() takes for a requested IRQ.  With the original spin_lock_irqsave() edge lockdep reported an invalid wait context, immediately followed by:    BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48   in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 95, name: insmod   hardirqs last disabled at (3784): _raw_spin_lock_irqsave\u002B0x4f/0x60    rt_spin_lock\u002B0x3a/0x1c0    repro_irq_set_type\u002B0x64/0xa0 [pch_repro]    __irq_set_trigger\u002B0x69/0x140    irq_set_irq_type\u002B0x78/0xd0  Switching the mirrored lock to raw_spinlock_t made both splats go away.  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, but all of those critical sections only perform MMIO register accesses (ioread32()/iowrite32()) and irq_set_handler_locked(); none of them contain sleepable operations. Keeping this register lock non-sleeping is therefore appropriate for the irqchip callbacks and does not change the GPIO-side locking contract.  This is the same class of issue and fix as recently addressed for other GPIO controllers, e.g. commit 286533cb14a3 (\u0022gpio: sch: use raw_spinlock_t in the irq startup path\u0022) and commit 90f0109019e6 (\u0022gpio: eic-sprd: use raw_spinlock_t in the irq startup path\u0022).",
  "published": "2026-08-15T13:17:51Z",
  "severity": "",
  "epss": 0.0018,
  "epssPercentile": 0.07655,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.187-1",
      "fix": "DEBIAN-CVE-2026-74468",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-74468",
      "released": "2026-08-16T22:48:20Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.12.105-1",
      "fix": "DEBIAN-CVE-2026-74468",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-74468",
      "released": "2026-08-16T22:48:20Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "7.1.8-1",
      "fix": "DEBIAN-CVE-2026-74468",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-74468",
      "released": "2026-08-16T22:48:20Z"
    },
    {
      "platform": "linux",
      "product": "linux-6.12",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.12.107-1~deb12u1",
      "fix": "DEBIAN-CVE-2026-74468",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2026-74468",
      "released": "2026-08-16T22:48:20Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-09T07:25:28Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}