[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] arm/vgic-v3: Fix write_ignore_64's check in __vgic_v3_rdistr_rd_mmio_write()
commit 1f75bd375d0757d6646ca2029a9559d535f6b511 Author: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@xxxxxxxx> AuthorDate: Tue May 20 15:53:13 2025 +0000 Commit: Stefano Stabellini <stefano.stabellini@xxxxxxx> CommitDate: Tue May 20 18:59:01 2025 -0700 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> --- 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: -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |