diff options
author | Ming Lei <tom.leiming@gmail.com> | 2015-06-04 22:25:04 +0800 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-06-09 15:32:38 -0600 |
commit | c3b4afca7023b5aa0531912364246e67f79b3010 (patch) | |
tree | 2bf7586a979548fb0fc950e5b84b646f96360ea6 /init | |
parent | d4a4f75cd8f29cd9464a5a32e9224a91571d6649 (diff) | |
download | op-kernel-dev-c3b4afca7023b5aa0531912364246e67f79b3010.zip op-kernel-dev-c3b4afca7023b5aa0531912364246e67f79b3010.tar.gz |
blk-mq: free hctx->ctxs in queue's release handler
Now blk_cleanup_queue() can be called before calling
del_gendisk()[1], inside which hctx->ctxs is touched
from blk_mq_unregister_hctx(), but the variable has
been freed by blk_cleanup_queue() at that time.
So this patch moves freeing of hctx->ctxs into queue's
release handler for fixing the oops reported by Stefan.
[1], 6cd18e711dd8075 (block: destroy bdi before blockdev is
unregistered)
Reported-by: Stefan Seyfried <stefan.seyfried@googlemail.com>
Cc: NeilBrown <neilb@suse.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: stable@vger.kernel.org (v4.0)
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions