* [PATCH] blkcg: fix memleak for iolatency
@ 2020-08-11 1:57 Yufen Yu
2020-08-11 2:00 ` Yufen Yu
0 siblings, 1 reply; 2+ messages in thread
From: Yufen Yu @ 2020-08-11 1:57 UTC (permalink / raw)
To: jbacik, tj, axboe; +Cc: linux-block
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: d70675121546 ("block: introduce blk-iolatency io controller")
Signed-off-by: Yufen Yu <yuyufen@huawei.com>
---
block/blk-cgroup.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index 619a79b51068..6f91b2ae0b27 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -1152,15 +1152,17 @@ int blkcg_init_queue(struct request_queue *q)
if (preloaded)
radix_tree_preload_end();
- ret = blk_iolatency_init(q);
- if (ret)
- goto err_destroy_all;
-
ret = blk_throtl_init(q);
if (ret)
goto err_destroy_all;
return 0;
+ ret = blk_iolatency_init(q);
+ if (ret) {
+ blk_throtl_exit(q);
+ goto err_destroy_all;
+ }
+
err_destroy_all:
blkg_destroy_all(q);
return ret;
--
2.25.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] blkcg: fix memleak for iolatency
2020-08-11 1:57 [PATCH] blkcg: fix memleak for iolatency Yufen Yu
@ 2020-08-11 2:00 ` Yufen Yu
0 siblings, 0 replies; 2+ messages in thread
From: Yufen Yu @ 2020-08-11 2:00 UTC (permalink / raw)
To: jbacik, tj, axboe; +Cc: linux-block
Ignore this. There is an obvious mistake. I will resend v2.
Thanks,
Yufen
On 2020/8/11 9:57, Yufen Yu wrote:
> 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: d70675121546 ("block: introduce blk-iolatency io controller")
> Signed-off-by: Yufen Yu <yuyufen@huawei.com>
> ---
> block/blk-cgroup.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
> index 619a79b51068..6f91b2ae0b27 100644
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -1152,15 +1152,17 @@ int blkcg_init_queue(struct request_queue *q)
> if (preloaded)
> radix_tree_preload_end();
>
> - ret = blk_iolatency_init(q);
> - if (ret)
> - goto err_destroy_all;
> -
> ret = blk_throtl_init(q);
> if (ret)
> goto err_destroy_all;
> return 0;
>
> + ret = blk_iolatency_init(q);
> + if (ret) {
> + blk_throtl_exit(q);
> + goto err_destroy_all;
> + }
> +
> err_destroy_all:
> blkg_destroy_all(q);
> return ret;
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-08-11 2:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-11 1:57 [PATCH] blkcg: fix memleak for iolatency Yufen Yu
2020-08-11 2:00 ` Yufen Yu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).