linux/arch/arm64/kvm/vgic
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
..
trace.h
vgic-debug.c KVM: arm64: vgic-debug: Don't put unmarked LPIs 2024-08-19 17:04:36 +00:00
vgic-init.c KVM: arm64: vgic: Don't hold config_lock while unregistering redistributors 2024-08-19 17:05:21 +00:00
vgic-irqfd.c KVM: arm64: fix kdoc warnings in W=1 builds 2024-08-02 18:58:03 +00:00
vgic-its.c KVM: arm64: fix kdoc warnings in W=1 builds 2024-08-02 18:58:03 +00:00
vgic-kvm-device.c KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr() 2024-04-24 19:09:35 +00:00
vgic-mmio-v2.c KVM: arm64: Don't read a HW interrupt pending state in user context 2022-06-07 16:28:19 +01:00
vgic-mmio-v3.c KVM: arm64: Disassociate vcpus from redistributor region on teardown 2024-06-06 08:54:15 +01:00
vgic-mmio.c KVM: arm64: vgic: Use common accessor for writes to ICPENDR 2023-12-22 09:34:17 +00:00
vgic-mmio.h KVM: arm64: vgic-v3: Use u32 to manage the line level from userspace 2022-07-17 11:55:33 +01:00
vgic-v2.c KVM: arm64: Simplify vgic-v3 hypercalls 2024-05-01 16:48:14 +01:00
vgic-v3.c KVM: arm64: fix kdoc warnings in W=1 builds 2024-08-02 18:58:03 +00:00
vgic-v4.c KVM: arm64: GICv4: Do not perform a map to a mapped vLPI 2023-11-20 19:13:32 +00:00
vgic.c KVM: arm64: vgic: Don't hold config_lock while unregistering redistributors 2024-08-19 17:05:21 +00:00
vgic.h KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 2024-08-22 08:08:37 +00:00