Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix disk reference leak in blkcg_maybe_throttle_current() Add the missing put_disk() on the error path in blkcg_maybe_throttle_current(). When blkcg lookup, blkg lookup, or blkg_tryget() fails, the function jumps to the out label which only calls rcu_read_unlock() but does not release the disk reference acquired by blkcg_schedule_throttle() via get_device(). Since current->throttle_disk is already set to NULL before the lookup, blkcg_exit() cannot release this reference either, causing the disk to never be freed. Restore the reference release that was present as blk_put_queue() in the original code but was inadvertently dropped during the conversion from request_queue to gendisk.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected f05837ed73d0c73e950b2d9f2612febb0d3d451e before 4048ed98860d3785645ebbd34f69566a6c7320c3; affected f05837ed73d0c73e950b2d9f2612febb0d3d451e before 73a5af059905d171b398c8b2381632ee499948b5; affected f05837ed73d0c73e950b2d9f2612febb0d3d451e before b3e005f16cd98f815429a87aef4c61e9c140779f; affected f05837ed73d0c73e950b2d9f2612febb0d3d451e before 000e8454692cab9d1f1b80130e2870e355301d06; affected f05837ed73d0c73e950b2d9f2612febb0d3d451e before 23308af722fefed00af5f238024c11710938fba3 |
| Linux / Linux | affected 6.3; unaffected 0 before 6.3; unaffected 6.6.141 through 6.6.*; unaffected 6.12.91 through 6.12.*; unaffected 6.18.33 through 6.18.*; unaffected 7.0.10 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/4048ed98860d3785645ebbd34f69566a6c7320c3
- https://git.kernel.org/stable/c/73a5af059905d171b398c8b2381632ee499948b5
- https://git.kernel.org/stable/c/b3e005f16cd98f815429a87aef4c61e9c140779f
- https://git.kernel.org/stable/c/000e8454692cab9d1f1b80130e2870e355301d06
- https://git.kernel.org/stable/c/23308af722fefed00af5f238024c11710938fba3