blk-mq: Avoid that submitting a bio concurrently with device removal triggers a crash
authorBart Van Assche <bart.vanassche@wdc.com>
Tue, 10 Apr 2018 23:02:40 +0000 (17:02 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 10 Apr 2018 23:46:40 +0000 (17:46 -0600)
commit37f9579f4c31a6d698dbf3016d7bf132f9288d30
tree3b3add4672c9e0391bead53a764718e92d131983
parenta93f00b3762026dd8231f473fae9346bda07db03
blk-mq: Avoid that submitting a bio concurrently with device removal triggers a crash

Because blkcg_exit_queue() is now called from inside blk_cleanup_queue()
it is no longer safe to access cgroup information during or after the
blk_cleanup_queue() call. Hence protect the generic_make_request_checks()
call with blk_queue_enter() / blk_queue_exit().

Reported-by: Ming Lei <ming.lei@redhat.com>
Fixes: a063057d7c73 ("block: Fix a race between request queue removal and the block cgroup controller")
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c