[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 |