kernel_samsung_a53x/arch/arm64/kvm
Marc Zyngier f06eba60f7 KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3
commit 3e6245ebe7ef341639e9a7e402b3ade8ad45a19f upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:20:50 +01:00
..
hyp arm64: lse: Always use LSE atomic instructions 2024-11-17 17:45:05 +01:00
vgic KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-11-23 23:20:50 +01:00
arch_timer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
arm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fpsimd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
guest.c KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode 2024-11-19 12:27:18 +01:00
handle_exit.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hypercalls.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inject_fault.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
irq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
perf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pmu-emul.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pmu.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
psci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pvtime.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reset.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sys_regs.c KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-11-23 23:20:50 +01:00
sys_regs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_arm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_handle_exit.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trng.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
va_layout.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-sys-reg-v3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00