From b1f1e492cd4231a1e9feedb7a35c62c063f7c510 Mon Sep 17 00:00:00 2001 From: Oleksandr Tyshchenko Date: Mon, 28 Aug 2017 20:32:25 +0300 Subject: [PATCH] xen/arm: vgic: Check for vgic handler to be initialized before dereferencing it Since domain_vgic_free() can be called when the vgic_ops haven't been initialised yet, always check that d->arch.vgic.handler is not a null. Signed-off-by: Oleksandr Tyshchenko Signed-off-by: Stefano Stabellini Reviewed-by: Stefano Stabellini --- xen/arch/arm/vgic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index 7a4e3cdc88..d8acbbeaaa 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -187,7 +187,8 @@ void domain_vgic_free(struct domain *d) } } - d->arch.vgic.handler->domain_free(d); + if ( d->arch.vgic.handler ) + d->arch.vgic.handler->domain_free(d); xfree(d->arch.vgic.shared_irqs); xfree(d->arch.vgic.pending_irqs); xfree(d->arch.vgic.allocated_irqs); -- 2.39.5