kernel_samsung_a53x/arch/arm64/kvm/vgic
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
..
trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-debug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-init.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-irqfd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-its.c KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table() 2024-11-18 22:25:37 +01:00
vgic-kvm-device.c KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr() 2024-11-19 11:32:43 +01:00
vgic-mmio-v2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-mmio-v3.c KVM: arm64: vgic-v4: Restore pending state on host userspace write 2024-11-18 12:12:48 +01:00
vgic-mmio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-mmio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-v2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-v3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic-v4.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vgic.h KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-11-23 23:20:50 +01:00