Skip to main content
← All vulnerabilities
CVE-2026-93795

blk-cgroup: fix leaks and online flag on radix_tree_insert failure

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 1 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix leaks and online flag on radix_tree_insert failure When radix_tree_insert() fails in blkg_create(), the error path has two issues: 1. blkg->online is set to true unconditionally, even when the blkg was never fully inserted. Move the assignment inside the success block. 2. The error path calls blkg_put() without first calling percpu_ref_kill(). Because the refcount is still in percpu mode, percpu_ref_put() only does this_cpu_sub() without checking for zero, so blkg_release() is never triggered. This permanently leaks the blkg memory, its percpu iostat, policy data, the parent blkg reference, and the cgroup css reference — the latter preventing the cgroup from ever being destroyed. Fix by replacing blkg_put() with percpu_ref_kill(), matching the pattern used in blkg_destroy().

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in 0f840db042caee9d2f3dcdcf97d6674f6e4c1e30; From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in f53945d7c712efe63fadbcc5ffed6370871fd0d3; From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in ada8270ccdb6f212da5eb22614c28ea418746a4a; From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in c3650be82ef6e7af13b79b2d10a7363bdf54aa7f; From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in 6e85f02d45b5977c0326a8d854c6db878aa6b34a; From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in 4c0d150fb98ea40760611979f4e664c244b20966; From 7fcf2b033b84e261dca283bc2911aaea4b07b525 · fixed in dbbca20764382b4d411ec2918f4e278ffe547acc

  • Linux Linux

    5.0

  • KernelLinux

    From 5.0.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53

References 7

git.kernel.org