Blob Blame History Raw
From: weiping zhang <zhangweiping@didichuxing.com>
Date: Sat, 19 Aug 2017 00:37:20 +0800
Subject: [PATCH] block, bfq: fix error handle in bfq_init
Git-commit: 37dcd6570f2e95364c26426d4110ba40c07df067
Patch-mainline: v4.14-rc1
References: bsc#1104967,FATE#325924

if elv_register fail, bfq_pool should be free.

Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Acked-by: Hannes Reinecke <hare@suse.com>
---
 block/bfq-iosched.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index 509f39998011..ea2832b6698c 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -5062,10 +5062,12 @@ static int __init bfq_init(void)
 
 	ret = elv_register(&iosched_bfq_mq);
 	if (ret)
-		goto err_pol_unreg;
+		goto slab_kill;
 
 	return 0;
 
+slab_kill:
+	bfq_slab_kill();
 err_pol_unreg:
 #ifdef CONFIG_BFQ_GROUP_IOSCHED
 	blkcg_policy_unregister(&blkcg_policy_bfq);
-- 
2.16.4