diff mbox series

[v2] block: add protection for divide by zero in blk_mq_map_queues

Message ID 20210514093816.66612-1-yguoaz@cse.ust.hk (mailing list archive)
State New, archived
Headers show
Series [v2] block: add protection for divide by zero in blk_mq_map_queues | expand

Commit Message

yguoaz May 14, 2021, 9:38 a.m. UTC
In function blk_mq_map_queues, qmap->nr_queues may equal zero
and thus it needs to be checked before we pass it to function
queue_index.

Signed-off-by: Yiyuan GUO <yguoaz@cse.ust.hk>
---
 block/blk-mq-cpumap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/block/blk-mq-cpumap.c b/block/blk-mq-cpumap.c
index 3db84d319..c2163658e 100644
--- a/block/blk-mq-cpumap.c
+++ b/block/blk-mq-cpumap.c
@@ -64,7 +64,7 @@  int blk_mq_map_queues(struct blk_mq_queue_map *qmap)
 			map[cpu] = queue_index(qmap, nr_queues, q++);
 		} else {
 			first_sibling = get_first_sibling(cpu);
-			if (first_sibling == cpu)
+			if ((first_sibling == cpu) && nr_queues)
 				map[cpu] = queue_index(qmap, nr_queues, q++);
 			else
 				map[cpu] = map[first_sibling];