diff options
author | Ming Lei <tom.leiming@gmail.com> | 2014-05-27 10:34:45 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-05-27 10:34:45 -0400 |
commit | 1f9f07e917f43af420f8cb3afc2b3fa703cea6e9 (patch) | |
tree | fceb97830c0601462a0dbb7547057c9cca41579e /block | |
parent | 35086784caec571be185f643eb1b045a275d60b3 (diff) |
blk-mq: fix leak of hctx->ctx_map
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>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index 62082c5daae7..dad22a9abe49 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c | |||
@@ -1846,6 +1846,7 @@ void blk_mq_free_queue(struct request_queue *q) | |||
1846 | queue_for_each_hw_ctx(q, hctx, i) { | 1846 | queue_for_each_hw_ctx(q, hctx, i) { |
1847 | blk_mq_tag_idle(hctx); | 1847 | blk_mq_tag_idle(hctx); |
1848 | kfree(hctx->ctxs); | 1848 | kfree(hctx->ctxs); |
1849 | blk_mq_free_bitmap(&hctx->ctx_map); | ||
1849 | blk_mq_unregister_cpu_notifier(&hctx->cpu_notifier); | 1850 | blk_mq_unregister_cpu_notifier(&hctx->cpu_notifier); |
1850 | if (q->mq_ops->exit_hctx) | 1851 | if (q->mq_ops->exit_hctx) |
1851 | q->mq_ops->exit_hctx(hctx, i); | 1852 | q->mq_ops->exit_hctx(hctx, i); |