]> git.itanic.dy.fi Git - linux-stable/commit
block: ensure we hold a queue reference when using queue limits
authorJens Axboe <axboe@kernel.dk>
Fri, 12 Jan 2024 16:12:20 +0000 (09:12 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 13 Jan 2024 04:09:42 +0000 (21:09 -0700)
commit7b4f36cd22a65b750b4cb6ac14804fb7d6e6c67d
tree864387a9062eca7d66d11bcc685c81dc1b9fa7f6
parent309ce6741430b5a7b5e85cd1a7569647f8d9dfa6
block: ensure we hold a queue reference when using queue limits

q_usage_counter is the only thing preventing us from the limits changing
under us in __bio_split_to_limits, but blk_mq_submit_bio doesn't hold
it while calling into it.

Move the splitting inside the region where we know we've got a queue
reference. Ideally this could still remain a shared section of code, but
let's keep the fix simple and defer any refactoring here to later.

Reported-by: Christoph Hellwig <hch@lst.de>
Fixes: 900e08075202 ("block: move queue enter logic into blk_mq_submit_bio()")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c