diff --git a/block/blk-mq-sched.c b/block/blk-mq-sched.c index e0bed16485c3..97b69fbe26f6 100644 --- a/block/blk-mq-sched.c +++ b/block/blk-mq-sched.c @@ -466,8 +466,7 @@ struct elevator_tags *blk_mq_alloc_sched_tags(struct blk_mq_tag_set *set, else nr_tags = nr_hw_queues; - et = kmalloc(sizeof(struct elevator_tags) + - nr_tags * sizeof(struct blk_mq_tags *), gfp); + et = kmalloc(struct_size(et, tags, nr_tags), gfp); if (!et) return NULL;