|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 16/17] arm64: if trapping a write-to-read-only GICv3 access inject Undef exception in guest
This patch is a port to xen from linux commit:
7b1dba1f7325629427c0e5bdf014159b229d16c8
KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access
A write-to-read-only GICv3 access should UNDEF at EL1. But since
we're in complete paranoia-land with broken CPUs, let's assume the
worse and gracefully handle the case.
Signed-off-by: Manish Jaggi <manish.jaggi@xxxxxxxxxx>
diff --git a/xen/arch/arm/arm64/vgic-v3-sr.c b/xen/arch/arm/arm64/vgic-v3-sr.c
index 27f5139dcb..ac39eb5e1d 100644
--- a/xen/arch/arm/arm64/vgic-v3-sr.c
+++ b/xen/arch/arm/arm64/vgic-v3-sr.c
@@ -782,6 +782,11 @@ bool vgic_v3_handle_cpuif_access(struct cpu_user_regs
*regs)
case HSR_SYSREG_ICC_IAR0_EL1:
case HSR_SYSREG_ICC_IAR1_EL1:
+ if ( unlikely(!is_read) )
+ {
+ ret = false;
+ goto end;
+ }
fn = vgic_v3_read_iar;
break;
@@ -792,6 +797,11 @@ bool vgic_v3_handle_cpuif_access(struct cpu_user_regs
*regs)
case HSR_SYSREG_ICC_HPPIR0_EL1:
case HSR_SYSREG_ICC_HPPIR1_EL1:
+ if ( unlikely(!is_read) )
+ {
+ ret = false;
+ goto end;
+ }
fn = vgic_v3_read_hppir;
break;
--
2.14.1
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |