mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
blkcg: fix memleak for iolatency
Normally, blkcg_iolatency_exit() will free related memory in iolatency
when cleanup queue. But if blk_throtl_init() return error and queue init
fail, blkcg_iolatency_exit() will not do that for us. Then it cause
memory leak.
Fixes: d706751215
("block: introduce blk-iolatency io controller")
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
0c8b9c3540
commit
27029b4b18
@ -1152,13 +1152,15 @@ int blkcg_init_queue(struct request_queue *q)
|
|||||||
if (preloaded)
|
if (preloaded)
|
||||||
radix_tree_preload_end();
|
radix_tree_preload_end();
|
||||||
|
|
||||||
ret = blk_iolatency_init(q);
|
|
||||||
if (ret)
|
|
||||||
goto err_destroy_all;
|
|
||||||
|
|
||||||
ret = blk_throtl_init(q);
|
ret = blk_throtl_init(q);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_destroy_all;
|
goto err_destroy_all;
|
||||||
|
|
||||||
|
ret = blk_iolatency_init(q);
|
||||||
|
if (ret) {
|
||||||
|
blk_throtl_exit(q);
|
||||||
|
goto err_destroy_all;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_destroy_all:
|
err_destroy_all:
|
||||||
|
Loading…
Reference in New Issue
Block a user