[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] arm/vgic-v3: Fix GICD_ICPENDR read access in __vgic_v3_distr_common_mmio_read()
- To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@xxxxxxxx>
- Date: Tue, 27 May 2025 00:11:52 +0000
- Accept-language: en-US, ru-RU
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=w0UC2uVhves3JMuCM7fsnRk6dFJ47wZaR/LSaZmPfjk=; b=KOurWadc9FUbLGn2PIJeLoRkNnSwZgcSSCFOMtFv4swefTCvXE5mCBG00tE+gOxUAvNtddsUYeDvRZFkrD4E9oA4tyWvMg2wJGy466ZRkZKn00koDmHlWPtsF/F0TQ3UPT5cN6KwMhHp8CjhwcuWjKI9meYLmdO7OJ3IePpLXTjkzXXQUdM870vOMeFQxhRQvSdqsHXBUvmfUGhMqFV1svsSkPkh7dr05ORLfi9ez2Gn9QS/7OdP5/ngMZmBQGOZ5YK0S1oJPblwO/u2jUp9c9un8azRyjzrTygKBesiEO5rMRdGjkKi+YAE3O7s5ROoSGc22AtKv53TP1celjVZMQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eag9UkjrgEy3J4s2MzsgucPHduymncGWZNtD2B5k++yQGNpi/GiRm89Pcwgv4Gyq1GumeNYwN0bh1YHpnKI9KVTG5r3g54eFXXIKypTrtfAX2GANtLV8ZzD8fnfpmpf8oEtXzpUTTLKaGLatAht/Rrc9IGWmnWYrQQjQL/MAXbckxJc5hlRn1UjpKQ7YO9x0dl+ZvkhLmBsu5QEd8AqzrXsqB6jsafz7inRMQrjQAtxHooiVXtCZv1d5RRxURbbLFDhsELJ75bxSMNUFH3iNJO/GwyyM07iJqmJYttlThtEnU5DhJLLqhVwQiLc51cjhdxOJ9G7ovWhplPoBCET0CQ==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
- Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
- Delivery-date: Tue, 27 May 2025 00:12:28 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHbzpvyD0IOuzZwNE60YXhXy//Nyg==
- Thread-topic: [PATCH] arm/vgic-v3: Fix GICD_ICPENDR read access in __vgic_v3_distr_common_mmio_read()
An attempt to read access the GICD_ICPENDR<n> register (where n > 0)
which should be RAZ (as not supported) causes the guest data abort
due to incorrect end offset (GICD_ICPENDR) in the case range.
Fix that by using the proper end offset (GICD_ICPENDRN).
Fixes: a2b83f95bfa ("xen/arm: vgic: Properly emulate the full register")
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
---
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 f20249f731..4369c55177 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -709,7 +709,7 @@ static int __vgic_v3_distr_common_mmio_read(const char
*name, struct vcpu *v,
/* Read the pending status of an IRQ via GICD/GICR is not supported */
case VRANGE32(GICD_ISPENDR, GICD_ISPENDRN):
- case VRANGE32(GICD_ICPENDR, GICD_ICPENDR):
+ case VRANGE32(GICD_ICPENDR, GICD_ICPENDRN):
goto read_as_zero;
/* Read the active status of an IRQ via GICD/GICR is not supported */
--
2.34.1
|