• Marc Zyngier's avatar
    KVM: arm64: Save the host's PtrAuth keys in non-preemptible context · ef3e40a7
    Marc Zyngier authored
    When using the PtrAuth feature in a guest, we need to save the host's
    keys before allowing the guest to program them. For that, we dump
    them in a per-CPU data structure (the so called host context).
    
    But both call sites that do this are in preemptible context,
    which may end up in disaster should the vcpu thread get preempted
    before reentering the guest.
    
    Instead, save the keys eagerly on each vcpu_load(). This has an
    increased overhead, but is at least safe.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    ef3e40a7
kvm_emulate.h 13.3 KB