blk-mq: release mq's kobjects in blk_release_queue()
authorMing Lei <ming.lei@canonical.com>
Thu, 29 Jan 2015 12:17:27 +0000 (20:17 +0800)
committerJens Axboe <axboe@fb.com>
Thu, 29 Jan 2015 16:30:51 +0000 (08:30 -0800)
commite09aae7edec1d20824c60a6f0ca4589f99ada17b
tree1cf7f6b2434f356f9dab4104bd5ecbfa85228799
parent74170118b26e55b611de5210f47657118a03a0e1
blk-mq: release mq's kobjects in blk_release_queue()

The kobject memory inside blk-mq hctx/ctx shouldn't have been freed
before the kobject is released because driver core can access it freely
before its release.

We can't do that in all ctx/hctx/mq_kobj's release handler because
it can be run before blk_cleanup_queue().

Given mq_kobj shouldn't have been introduced, this patch simply moves
mq's release into blk_release_queue().

Reported-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c
block/blk-mq.h
block/blk-sysfs.c