xen/arm: Zeroed vgic ranks during the initialization
authorJulien Grall <julien.grall@linaro.org>
Thu, 27 Jun 2013 19:58:39 +0000 (20:58 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 28 Jun 2013 11:33:37 +0000 (12:33 +0100)
vgic_rank contains data which inform the guest if an IRQ is
enabled/actived/pending...

The structure must be zeroed otherwise the guest can retrieve wrong GIC state.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/vgic.c

index 7eaccb7eee038ad619c4d51e2dee22d282218ad3..2e4b11f46f39fbf0221abe7ca58081dec7027ef0 100644 (file)
@@ -88,7 +88,7 @@ int domain_vgic_init(struct domain *d)
         d->arch.vgic.nr_lines = 0; /* We don't need SPIs for the guest */
 
     d->arch.vgic.shared_irqs =
-        xmalloc_array(struct vgic_irq_rank, DOMAIN_NR_RANKS(d));
+        xzalloc_array(struct vgic_irq_rank, DOMAIN_NR_RANKS(d));
     d->arch.vgic.pending_irqs =
         xzalloc_array(struct pending_irq, d->arch.vgic.nr_lines);
     for (i=0; i<d->arch.vgic.nr_lines; i++)