blk-mq: fix leak of hctx->ctx_map
authorMing Lei <tom.leiming@gmail.com>
Tue, 27 May 2014 14:34:45 +0000 (08:34 -0600)
committerJens Axboe <axboe@fb.com>
Tue, 27 May 2014 14:34:45 +0000 (08:34 -0600)
hctx->ctx_map should have been freed inside blk_mq_free_queue().

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c

index 62082c5daae7cbafbfdb294fdee70c38a5c90257..dad22a9abe499bd20c08ff46319a313896f867e2 100644 (file)
@@ -1846,6 +1846,7 @@ void blk_mq_free_queue(struct request_queue *q)
        queue_for_each_hw_ctx(q, hctx, i) {
                blk_mq_tag_idle(hctx);
                kfree(hctx->ctxs);
+               blk_mq_free_bitmap(&hctx->ctx_map);
                blk_mq_unregister_cpu_notifier(&hctx->cpu_notifier);
                if (q->mq_ops->exit_hctx)
                        q->mq_ops->exit_hctx(hctx, i);