Description
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 products
- Linux / Linuxf05837ed73d0c73e950b2d9f2612febb0d3d451e – 4048ed98860d3785645ebbd34f69566a6c7320c3
- Linux / Linuxf05837ed73d0c73e950b2d9f2612febb0d3d451e – 73a5af059905d171b398c8b2381632ee499948b5
- Linux / Linuxf05837ed73d0c73e950b2d9f2612febb0d3d451e – b3e005f16cd98f815429a87aef4c61e9c140779f
- Linux / Linuxf05837ed73d0c73e950b2d9f2612febb0d3d451e – 000e8454692cab9d1f1b80130e2870e355301d06
- Linux / Linuxf05837ed73d0c73e950b2d9f2612febb0d3d451e – 23308af722fefed00af5f238024c11710938fba3
- Linux / Linux6.3 – 6.3
- Linux / Linux0 – 6.3
- Linux / Linux6.6.141 – 6.6.*
- Linux / Linux6.12.91 – 6.12.*
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/4048ed98860d3785645ebbd34f69566a6c7320c3
- MISChttps://git.kernel.org/stable/c/73a5af059905d171b398c8b2381632ee499948b5
- MISChttps://git.kernel.org/stable/c/b3e005f16cd98f815429a87aef4c61e9c140779f
- MISChttps://git.kernel.org/stable/c/000e8454692cab9d1f1b80130e2870e355301d06
- MISChttps://git.kernel.org/stable/c/23308af722fefed00af5f238024c11710938fba3