linux/arch/arm64/kvm
Marc Zyngier 3e6245ebe7 KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3
On a system with a GICv3, if a guest hasn't been configured with
GICv3 and that the host is not capable of GICv2 emulation,
a write to any of the ICC_*SGI*_EL1 registers is trapped to EL2.

We therefore try to emulate the SGI access, only to hit a NULL
pointer as no private interrupt is allocated (no GIC, remember?).

The obvious fix is to give the guest what it deserves, in the
shape of a UNDEF exception.

Reported-by: Alexander Potapenko <glider@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240820100349.3544850-2-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2024-08-22 08:08:37 +00:00
..
hyp KVM: arm64: Tidying up PAuth code in KVM 2024-08-07 19:11:05 +00:00
vgic KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-08-22 08:08:37 +00:00
.gitignore
Kconfig KVM: arm64: Enforce dependency on an ARMv8.4-aware toolchain 2024-08-07 19:09:35 +00:00
Makefile KVM: arm64: fix override-init warnings in W=1 builds 2024-08-02 18:58:03 +00:00
arch_timer.c
arm.c KVM: arm64: Tidying up PAuth code in KVM 2024-08-07 19:11:05 +00:00
debug.c
emulate-nested.c
fpsimd.c
guest.c
handle_exit.c
hypercalls.c
inject_fault.c
mmio.c
mmu.c KVM: arm64: Ensure canonical IPA is hugepage-aligned when handling fault 2024-08-22 07:41:00 +00:00
nested.c
pauth.c
pkvm.c
pmu-emul.c
pmu.c
psci.c
pvtime.c
reset.c
stacktrace.c
sys_regs.c KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-08-22 08:08:37 +00:00
sys_regs.h
trace.h
trace_arm.h
trace_handle_exit.h
trng.c
va_layout.c
vgic-sys-reg-v3.c
vmid.c