[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[XEN v1] xen/arm: vGICv3: Restore the interrupt state correctly


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Ayan Kumar Halder <ayankuma@xxxxxxx>
  • Date: Thu, 27 Oct 2022 20:09:13 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8FeIMOJGH/45YEpzVXFBG3/d4t87OUAvpO4VLLRjPlc=; b=O3Q3VilCj6s+4hJ1o7ZzfSg+4XLYshJ4Q1lYMfPUjjvUhFtohZlDYSDozoZ6d/QVXGQVjy20aasEHGAdffsvFL8jYmChYKYuptVrET8CeeSGejSYKAePj4zJfWV78iffMotX0P7jxqcwciqa7CZ5kxJ+Hvk8spF/homnevfZnGsw3d4UpvJcrSNF+R5D3l6W3S3XsxLK8YYn43y9KYhBbzvWlw/9ccoLVWFRBTedW1nMmdWChXh23P/HA41eSOBwTWpm+FxrM95/N0Xw/sNuNY+j/x7XWDnaZgp1gGZmKQCNlhKgiaMt3eTOuz+3fWtE2ZLktZUerprhl5k1IHX3Ow==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n2xfodyO+wMwjJB7nN+HGe/r7IiBJsouSPAliaPZTRz+qJ++Zy6qhdFW2ANt/YsBFunEo127hO+bTLAbGVq2m/pHypB08al36qDcLO4n2Kmnv8EuGGWcS5v2sKpNcbBEHVJchMdO/WNDHVAfB3grTL5voshXPCoDWBXB6XeIOgnXy0yciwC7Bg3e8raBOLysseB6zE9/xVPmFej15iM6Ieq4PkxkicSOzsV8O1QE2O8uZegKACx+MrNQpUylREa+qv0VUVt3W11erPGdZARkYTwqIbvsfQLl5Ldiv3Q2wmDjUU02Kh7sADsXVwZrcwpUOE3Cjwhu64VtUtJcxibHiA==
  • Cc: <sstabellini@xxxxxxxxxx>, <stefanos@xxxxxxxxxx>, <julien@xxxxxxx>, <Volodymyr_Babchuk@xxxxxxxx>, <bertrand.marquis@xxxxxxx>, <andre.przywara@xxxxxxx>, <Henry.Wang@xxxxxxx>, Ayan Kumar Halder <ayankuma@xxxxxxx>
  • Delivery-date: Thu, 27 Oct 2022 19:09:39 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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 <ayankuma@xxxxxxx>
---
 xen/arch/arm/vgic-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index d0e265634e..015446be17 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;
     }
-- 
2.17.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.