]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - block/blk-mq.c
blk-mq: Use proper cpumask iterator
authorThomas Gleixner <tglx@linutronix.de>
Sat, 19 Mar 2016 10:30:33 +0000 (11:30 +0100)
committerJens Axboe <axboe@fb.com>
Sun, 20 Mar 2016 15:34:02 +0000 (09:34 -0600)
commit897bb0c7f1ea82d7cc882b19790b5e1df00ffc29
tree97b9ef1ba99b9c0f76ca57e398a55fa124ec3f7e
parent5173cb814b36439a9d9537016965e75798b9f130
blk-mq: Use proper cpumask iterator

queue_for_each_ctx() iterates over per_cpu variables under the assumption that
the possible cpu mask cannot have holes. That's wrong as all cpumasks can have
holes. In case there are holes the iteration ends up accessing uninitialized
memory and crashing as a result.

Replace the macro by a proper for_each_possible_cpu() loop and drop the unused
macro blk_ctx_sum() which references queue_for_each_ctx().

Reported-by: Xiong Zhou <jencce.kernel@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq-sysfs.c
block/blk-mq.c
include/linux/blk-mq.h