[PATCH 4.9 001/241] blkcg: fix double free of new_blkg in blkcg_init_queue

From: Greg Kroah-Hartman
Date: Mon Mar 19 2018 - 14:18:19 EST


4.9-stable review patch. If anyone has any objections, please let me know.

------------------

From: Hou Tao <houtao1@xxxxxxxxxx>

commit 9b54d816e00425c3a517514e0d677bb3cec49258 upstream.

If blkg_create fails, new_blkg passed as an argument will
be freed by blkg_create, so there is no need to free it again.

Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx>
Signed-off-by: Jens Axboe <axboe@xxxxxx>
Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
block/blk-cgroup.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -1078,10 +1078,8 @@ int blkcg_init_queue(struct request_queu
if (preloaded)
radix_tree_preload_end();

- if (IS_ERR(blkg)) {
- blkg_free(new_blkg);
+ if (IS_ERR(blkg))
return PTR_ERR(blkg);
- }

q->root_blkg = blkg;
q->root_rl.blkg = blkg;