irqdomain: Add __rcu annotations to radix tree slot
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 22 Sep 2017 12:20:41 +0000 (21:20 +0900)
committerMarc Zyngier <marc.zyngier@arm.com>
Thu, 19 Oct 2017 09:30:15 +0000 (10:30 +0100)
Fix different address spaces warning of sparse.

kernel/irq/irqdomain.c:1463:14: warning: incorrect type in assignment (different address spaces)
kernel/irq/irqdomain.c:1463:14:    expected void **slot
kernel/irq/irqdomain.c:1463:14:    got void [noderef] <asn:4>**
kernel/irq/irqdomain.c:1465:66: warning: incorrect type in argument 2 (different address spaces)
kernel/irq/irqdomain.c:1465:66:    expected void [noderef] <asn:4>**slot
kernel/irq/irqdomain.c:1465:66:    got void **slot

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
kernel/irq/irqdomain.c

index 31d0f9ff4f0025cc8631ec865e81eb135eebaed8..fbbf34293b17b119133d5cda1c4d2fb090ed7252 100644 (file)
@@ -945,7 +945,7 @@ static int virq_debug_show(struct seq_file *m, void *private)
        struct irq_desc *desc;
        struct irq_domain *domain;
        struct radix_tree_iter iter;
-       void **slot;
+       void __rcu **slot;
        int i;
 
        seq_printf(m, " %-16s  %-6s  %-10s  %-10s  %s\n",
@@ -1453,7 +1453,7 @@ out_free_desc:
 /* The irq_data was moved, fix the revmap to refer to the new location */
 static void irq_domain_fix_revmap(struct irq_data *d)
 {
-       void **slot;
+       void __rcu **slot;
 
        if (d->hwirq < d->domain->revmap_size)
                return; /* Not using radix tree. */