• Bart Van Assche's avatar
    blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync · 6e66b493
    Bart Van Assche authored
    blk_mq_map_queues() and multiple .map_queues() implementations expect that
    set->map[HCTX_TYPE_DEFAULT].nr_queues is set to the number of hardware
    queues. Hence set .nr_queues before calling these functions. This patch
    fixes the following kernel warning:
    
    WARNING: CPU: 0 PID: 2501 at include/linux/cpumask.h:137
    Call Trace:
     blk_mq_run_hw_queue+0x19d/0x350 block/blk-mq.c:1508
     blk_mq_run_hw_queues+0x112/0x1a0 block/blk-mq.c:1525
     blk_mq_requeue_work+0x502/0x780 block/blk-mq.c:775
     process_one_work+0x9af/0x1740 kernel/workqueue.c:2269
     worker_thread+0x98/0xe40 kernel/workqueue.c:2415
     kthread+0x361/0x430 kernel/kthread.c:255
    
    Fixes: ed76e329 ("blk-mq: abstract out queue map") # v5.0
    Reported-by: syzbot+d44e1b26ce5c3e77458d@syzkaller.appspotmail.com
    Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
    Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
    Reviewed-by: default avatarChaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
    Cc: Johannes Thumshirn <jth@kernel.org>
    Cc: Hannes Reinecke <hare@suse.com>
    Cc: Ming Lei <ming.lei@redhat.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    6e66b493
blk-mq.c 88.7 KB