blk-mq: add bounds check on tag-to-rq conversion
We need to check for a valid index before accessing the array element to avoid accessing invalid memory regions. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jeff Moyer <jmoyer@redhat.com> Modified by Jens to drop the unlikely(), and make the fall through path be having a valid tag. Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
2b88551711
commit
4ee86babe0
@@ -544,7 +544,10 @@ EXPORT_SYMBOL(blk_mq_abort_requeue_list);
|
|||||||
|
|
||||||
struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag)
|
struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag)
|
||||||
{
|
{
|
||||||
|
if (tag < tags->nr_tags)
|
||||||
return tags->rqs[tag];
|
return tags->rqs[tag];
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(blk_mq_tag_to_rq);
|
EXPORT_SYMBOL(blk_mq_tag_to_rq);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user