CVE-2026-98832

Source
https://cve.org/CVERecord?id=CVE-2026-98832
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98832.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-98832
Downstream
Published
2026-10-18T15:49:36Z
Modified
2026-10-20T02:30:18Z
Summary
blk-cgroup: save IRQ state in blkg_tryget_closest()
Details

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.

Database specific
{
    "cna_assigner":  "Linux",
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98832.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
9327a865e395a53f67dffac4710beb1d4730495e
Fixed
9fcf4317384ce6758c3127a6e8914c54cbb9c8cc
Fixed
327c428ba79b13e4cc5253333a9d5c0aa5579bdf

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98832.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
7.2.0
Fixed
7.2.10

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98832.json"