OSDN Git Service

irqdomain: Use struct_size() helper when allocating irqdomain
authorMarc Zyngier <maz@kernel.org>
Mon, 5 Apr 2021 10:30:51 +0000 (11:30 +0100)
committerMarc Zyngier <maz@kernel.org>
Thu, 10 Jun 2021 12:09:17 +0000 (13:09 +0100)
Instead of open-coding the size computation of struct irqdomain,
use the struct_size() helper instead.

This is going to be handy as we change the type of the revmap
array.

Signed-off-by: Marc Zyngier <maz@kernel.org>
kernel/irq/irqdomain.c

index fa94c86..cdcb198 100644 (file)
@@ -150,7 +150,7 @@ struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, int size,
                    (!IS_ENABLED(CONFIG_IRQ_DOMAIN_NOMAP) && direct_max)))
                return NULL;
 
-       domain = kzalloc_node(sizeof(*domain) + (sizeof(unsigned int) * size),
+       domain = kzalloc_node(struct_size(domain, revmap, size),
                              GFP_KERNEL, of_node_to_nid(to_of_node(fwnode)));
        if (!domain)
                return NULL;