From: Julien Grall Date: Mon, 16 Feb 2015 14:50:52 +0000 (+0000) Subject: xen/arm: vgic-v2: Take the lock when writing into GICD_CTLR X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3736 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=26ea82f165295ea2ebd92e9c4579a757647fd399;p=xen.git xen/arm: vgic-v2: Take the lock when writing into GICD_CTLR This register is shared between every vCPUs and the lock was already taken for read. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c index 84790279c9..42c64119e3 100644 --- a/xen/arch/arm/vgic-v2.c +++ b/xen/arch/arm/vgic-v2.c @@ -284,7 +284,10 @@ static int vgic_v2_distr_mmio_write(struct vcpu *v, mmio_info_t *info) case GICD_CTLR: if ( dabt.size != DABT_WORD ) goto bad_width; /* Ignore all but the enable bit */ + vgic_lock(v); v->domain->arch.vgic.ctlr = (*r) & GICD_CTL_ENABLE; + vgic_unlock(v); + return 1; /* R/O -- write ignored */