From: Julien Grall Date: Wed, 1 Jul 2015 11:01:03 +0000 (+0100) Subject: xen/arm: vGIC: Check return of the domain_init callback X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2967 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=685cddcdde9154a62d652bad3dbe582bf2e32f25;p=xen.git xen/arm: vGIC: Check return of the domain_init callback The domain_init callback can return error. Check it and progate the error if necessary. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index dfd959aef1..fe6c7a27d1 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -71,6 +71,7 @@ static void vgic_init_pending_irq(struct pending_irq *p, unsigned int virq) int domain_vgic_init(struct domain *d, unsigned int nr_spis) { int i; + int ret; d->arch.vgic.ctlr = 0; @@ -114,7 +115,9 @@ int domain_vgic_init(struct domain *d, unsigned int nr_spis) for (i=0; iarch.vgic.shared_irqs[i].lock); - d->arch.vgic.handler->domain_init(d); + ret = d->arch.vgic.handler->domain_init(d); + if ( ret ) + return ret; d->arch.vgic.allocated_irqs = xzalloc_array(unsigned long, BITS_TO_LONGS(vgic_num_irqs(d)));