Back

HIGH

blk-cgroup: fix UAF in __blkcg_rstat_flush()

Published Jul 19, 2026

Description

When multiple blkgs in the same blkcg are released concurrently, a use-after-free can occur. The race happens when one blkg's __blkcg_rstat_flush() removes another blkg's iostat entries via llist_del_all(). The second blkg sees an empty list and proceeds to free itself while the first is still iterating over its entries.

Move the flush from __blkg_release() (RCU callback) to blkg_release() (before call_rcu). This ensures the RCU grace period waits for any concurrent flush's rcu_read_lock() section to complete before freeing.

Affected products

Remediation

No remediation recorded yet.

References (10)

Change history (0)

No recorded changes yet.

Sources
CVE.org / MITRE
Status PUBLISHED
Assigner Linux
Published Jul 19, 2026
Updated Aug 17, 2026
Reserved Jul 19, 2026
NVD
Status Analyzed
Modified Aug 17, 2026
Red Hat
Severity Moderate
Public date Jul 19, 2026