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

[PATCH V2] arm/vgic-v3: Fix write_ignore_64's check in __vgic_v3_rdistr_rd_mmio_write()


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@xxxxxxxx>
  • Date: Tue, 20 May 2025 15:53:13 +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=oT2PHo91Kin9htf70Av5ZJswwWgCA59U8JvihiA5XxI=; b=zUN7k39atyzVwVdtZUixZwdTqi7ijQuh2YCHo1OKIgL+8dCpE9NUs+cfnVONpyv1R9lkz7nMp/a/6AjdBrMPWxa1RMWZzQEAmsOz51BCndevX/uDxoLDRllsjjrZNwEUZuez1zq/p8uF9D4Tg/bPxLdIPq15PkGo7h+9TPcHRIu/Rwnb2LfJ43jA+4vyq69Yp86llUiyphhiSX+18yUWFI6Bbj6IP2NIYyKGjTYGbrgA5zwW6SHL/63GLUDVicDpJ8jQ2ObyVvjzJ3OtHJczol5dlrpZ4Y/bM1ud9r0NtTZ5XOjLHS0SAX6sx8LRFVj+O2ycqwngivGHPbUeICm58Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ndq+R88Z0Nd40WYJ9tJBuR6KQcNv84s3dOWikixa2kDFpv/9zypoQT0JVqdAaTo9J3KmH5PnpRK1q2gd9W8S5nVZsClop0MaFcoTEpExAKG/z4EGggrMAsrFJlmR1LFCbTgtfvCqIEN9LPHXzaOJUX0B83IwTMHSkcJ6YTlBLB9ufUdUHhJjGQhILhM42ROp8Xg6rx4NmKWxJJtTvp499g5KwD0M74uxVYS7Y34Y4YuT8B305AKNcsuKhwsnQnONrUUuzQgjsk0juDJ2ZeSNOa2Y05qNc2tCbOnmY+jBTPF0qmjKbtcLhlcauUo1/AI7jRWK0+Nol1AxEt6lbNeEkA==
  • 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>, Julien Grall <jgrall@xxxxxxxxxx>
  • Delivery-date: Tue, 20 May 2025 15:53:35 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHbyZ9LliRAEJcwbkSH1It1IBBGkA==
  • Thread-topic: [PATCH V2] arm/vgic-v3: Fix write_ignore_64's check in __vgic_v3_rdistr_rd_mmio_write()

An attempt to write access the register (i.e. GICR_PROPBASER, GICR_PENDBASER)
which should be ignored (i.e. no virtual ITS present) causes the guest data 
abort
due to incorrect check at the write_ignore_64 label. The check should be
inverted.

While at it, move goto to the next line.

Fixes: c4d6bbdc12e5 ("xen/arm: vgic-v3: Support 32-bit access for 64-bit 
registers")
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
---
  V2:
   - s/data about/guest data abort in the description
   - add A-b
   - move goto to the next line
---
---
 xen/arch/arm/vgic-v3.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 2eaa48fadb..f20249f731 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -649,7 +649,8 @@ bad_width:
     return 0;
 
 write_ignore_64:
-    if ( vgic_reg64_check_access(dabt) ) goto bad_width;
+    if ( !vgic_reg64_check_access(dabt) )
+        goto bad_width;
     return 1;
 
 write_ignore_32:
-- 
2.34.1



 


Rackspace

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