CVE-2026-98832

CVE-2026-98832

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
4.3
In the wild
Unconfirmed
What it is

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

blk-cgroup: save IRQ state in blkg_tryget_closest()

bio_set_dev() associates the bio with a blkg through bio_associate_blkg().

If the blkg lookup misses, blkg_tryget_closest() takes q->queue_lock with

spin_lock_irq() and releases it with spin_unlock_irq(), which

unconditionally enables local interrupts.

Callers may call bio_set_dev() with interrupts already disabled, e.g.

dm-thin's pool_map() does so while holding pool->lock taken with

spin_lock_irq(). The nested spin_unlock_irq() then enables interrupts

while pool->lock is still held, so an I/O completion softirq can run on

the same CPU, re-acquire pool->lock (thin_endio(), or overwrite_endio()

-> complete_mapping_preparation()) and deadlock. lockdep reports this

as inconsistent SOFTIRQ-ON-W to IN-SOFTIRQ-W usage.

Commit 3a762de55b4e ("block: save irq state in blkg_lookup_create()")

fixed the same problem while the lock lived in blkg_lookup_create(), but

commit 9327a865e395 ("blk-cgroup: don't nest queue_lock under rcu in

blkg_lookup_create()") moved the locking into blkg_tryget_closest() and

reverted it to spin_lock_irq().

Save and restore the caller's IRQ state instead.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00155 · 4.3th percentile
Published
2026-10-18T20:17Z
References (2)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:49Z
    blk-cgroup: save IRQ state in blkg_tryget_closest()
    cvelistv5
  • 18 OCT 15:49Z
    blk-cgroup: save IRQ state in blkg_tryget_closest()
    cvelistv5