From: Ayan Kumar Halder Date: Thu, 27 Oct 2022 19:09:13 +0000 (+0100) Subject: xen/arm: vGICv3: Restore the interrupt state correctly X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=aa717d803eb5442c0ab9c6f078b6ff2078092bae;p=people%2Fdwmw2%2Fxen.git xen/arm: vGICv3: Restore the interrupt state correctly As "spin_lock_irqsave(&v->arch.vgic.lock, flags)" saves the current interrupt state in "flags", "spin_unlock_irqrestore(&v->arch.vgic.lock, flags)" should be used to restore the saved interrupt state. Fixes: fe7fa1332dabd9ce4 ("ARM: vGICv3: handle virtual LPI pending and property tables") Signed-off-by: Ayan Kumar Halder Reviewed-by: Bertrand Marquis Reviewed-by: Andre Przywara Acked-by: Julien Grall Release-acked-by: Henry Wang --- diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c index c19691ece0..84dc442fc6 100644 --- a/xen/arch/arm/vgic-v3.c +++ b/xen/arch/arm/vgic-v3.c @@ -582,7 +582,7 @@ static int __vgic_v3_rdistr_rd_mmio_write(struct vcpu *v, mmio_info_t *info, write_atomic(&v->arch.vgic.rdist_pendbase, reg); } - spin_unlock_irqrestore(&v->arch.vgic.lock, false); + spin_unlock_irqrestore(&v->arch.vgic.lock, flags); return 1; }