linux-stable/arch/arm64/kvm
Marc Zyngier 94d4fbad01 KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3
commit 3e6245ebe7 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-08-29 17:30:50 +02:00
..
hyp KVM: arm64: Don't pass a TLBI level hint when zapping table entries 2024-08-19 06:00:07 +02:00
vgic KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-08-29 17:30:50 +02:00
.gitignore
arch_timer.c Merge branch kvm-arm64/burn-the-flags into kvmarm-master/next 2022-06-29 10:30:10 +01:00
arm.c KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy 2024-01-01 12:39:08 +00:00
debug.c Merge branch kvm-arm64/single-step-async-exception into kvmarm-master/next 2022-09-19 10:59:29 +01:00
fpsimd.c KVM: arm64: Move the handling of !FP outside of the fast path 2022-06-29 10:23:56 +01:00
guest.c KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode 2024-06-16 13:41:37 +02:00
handle_exit.c KVM: arm64: Clear PSTATE.SS when the Software Step state was Active-pending 2022-09-19 10:48:53 +01:00
hypercalls.c KVM: arm64: Use config_lock to protect data ordered against KVM_RUN 2023-05-11 23:03:03 +09:00
inject_fault.c KVM: arm64: Move vcpu PC/Exception flags to the input flag set 2022-06-10 09:54:34 +01:00
irq.h
Kconfig KVM: arm64: Move PROTECTED_NVHE_STACKTRACE around 2022-07-27 18:18:03 +01:00
Makefile KVM: arm64: Move nVHE stacktrace unwinding into its own compilation unit 2022-07-27 18:18:03 +01:00
mmio.c
mmu.c KVM: arm64: Retry fault if vma_lookup() results become invalid 2023-05-01 08:26:27 +09:00
pkvm.c
pmu-emul.c KVM: arm64: Use config_lock to protect data ordered against KVM_RUN 2023-05-11 23:03:03 +09:00
pmu.c KVM: arm64: Pass pmu events to hyp via vcpu 2022-05-15 11:26:41 +01:00
psci.c KVM: arm64: Avoid vcpu->mutex v. kvm->lock inversion in CPU_ON 2023-05-11 23:03:03 +09:00
pvtime.c
reset.c KVM: arm64: Avoid lock inversion when setting the VM register width 2023-05-11 23:03:03 +09:00
stacktrace.c arm64: stacktrace: track hyp stacks in unwinder's address space 2022-09-09 12:30:08 +01:00
sys_regs.c KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-08-29 17:30:50 +02:00
sys_regs.h KVM: arm64: Add a visibility bit to ignore user writes 2022-09-14 11:36:16 +01:00
trace.h
trace_arm.h
trace_handle_exit.h
trng.c
va_layout.c arm64: alternatives: kvm: prepare for cap changes 2022-09-16 17:15:02 +01:00
vgic-sys-reg-v3.c KVM: arm64: vgic-v3: Convert userspace accessors over to FIELD_GET/FIELD_PREP 2022-07-17 11:55:33 +01:00
vmid.c KVM: arm64: Fix inconsistent indenting 2022-06-07 15:27:05 +01:00