CVEvulnerability
CVE-2026-93795
- Status
- Received
- Published
- 2026-09-24
- Last modified
- 2026-10-03
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
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().
References
- https://git.kernel.org/stable/c/0f840db042caee9d2f3dcdcf97d6674f6e4c1e30 git.kernel.org
- https://git.kernel.org/stable/c/4c0d150fb98ea40760611979f4e664c244b20966 git.kernel.org
- https://git.kernel.org/stable/c/6e85f02d45b5977c0326a8d854c6db878aa6b34a git.kernel.org
- https://git.kernel.org/stable/c/ada8270ccdb6f212da5eb22614c28ea418746a4a git.kernel.org
- https://git.kernel.org/stable/c/c3650be82ef6e7af13b79b2d10a7363bdf54aa7f git.kernel.org
- https://git.kernel.org/stable/c/dbbca20764382b4d411ec2918f4e278ffe547acc git.kernel.org
- https://git.kernel.org/stable/c/f53945d7c712efe63fadbcc5ffed6370871fd0d3 git.kernel.org