diff options
author | Ming Lei | 2019-06-11 17:31:53 +0800 |
---|---|---|
committer | Jens Axboe | 2019-06-13 03:05:58 -0600 |
commit | c326f846ebc2a30eca386b85dffba96e23803d81 (patch) | |
tree | 6ac0abaface94fbd7b0d60d7427b7351cfe245a4 /block | |
parent | fb5772cbfe48575711bf789767d561582376f7f1 (diff) |
blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requests
blk_mq_sched_free_requests() may be called in failure path in which
q->elevator may not be setup yet, so remove WARN_ON(!q->elevator) from
blk_mq_sched_free_requests for avoiding the false positive.
This function is actually safe to call in case of !q->elevator because
hctx->sched_tags is checked.
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Yi Zhang <yi.zhang@redhat.com>
Fixes: c3e2219216c9 ("block: free sched's request pool in blk_cleanup_queue")
Reported-by: syzbot+b9d0d56867048c7bcfde@syzkaller.appspotmail.com
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq-sched.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index 500cb04901cc..2766066a15db 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -555,7 +555,6 @@ void blk_mq_sched_free_requests(struct request_queue *q) int i; lockdep_assert_held(&q->sysfs_lock); - WARN_ON(!q->elevator); queue_for_each_hw_ctx(q, hctx, i) { if (hctx->sched_tags) |