diff options
| author | Marc Zyngier <maz@kernel.org> | 2026-07-29 14:18:21 +0100 |
|---|---|---|
| committer | Oliver Upton <oupton@kernel.org> | 2026-07-30 23:48:22 -0700 |
| commit | 79c3122a1e142166b9254809115ef26ba7797769 (patch) | |
| tree | 8749413c682aecbfdc76e29fd63a4a4b847f6289 /include/linux/timerqueue.h | |
| parent | e9f88aa0b16cc95e9c69d5d9fc02fe506c6a0df3 (diff) | |
KVM: arm64: Minimise EL2's exposure of host VGIC state during world switch
The host passes a vgic_v3_cpu_if pointer to the __vgic_v3_save_aprs and
__vgic_v3_restore_vmcr_aprs hypercalls, which EL2 dereferences
wholesale. That exposes the host's full VGIC emulation state to the
hypervisor, against pKVM's isolation goals.
Recover the host vCPU from the supplied cpu_if via container_of() and
copy only vgic_vmcr and the active priority registers between EL2's
hyp-side state and the host vCPU, so EL2 no longer dereferences the
host's vgic_v3_cpu_if directly.
Reviewed-by: Vincent Donnefort <vdonnefort@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Co-developed-by: Fuad Tabba <fuad.tabba@linux.dev>
Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev>
Link: https://patch.msgid.link/20260729131823.2021516-7-fuad.tabba@linux.dev
Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
