KVM: PPC: Book3S HV: Prevent radix guests setting LPCR[TC]
authorNicholas Piggin <npiggin@gmail.com>
Mon, 12 Apr 2021 01:48:38 +0000 (11:48 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 12 Apr 2021 03:36:23 +0000 (13:36 +1000)
Prevent radix guests setting LPCR[TC]. This bit only applies to hash
partitions.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210412014845.1517916-6-npiggin@gmail.com
arch/powerpc/kvm/book3s_hv.c

index 3de8a1f..70c6e9c 100644 (file)
@@ -1645,6 +1645,10 @@ static int kvm_arch_vcpu_ioctl_set_sregs_hv(struct kvm_vcpu *vcpu,
  */
 unsigned long kvmppc_filter_lpcr_hv(struct kvm *kvm, unsigned long lpcr)
 {
+       /* LPCR_TC only applies to HPT guests */
+       if (kvm_is_radix(kvm))
+               lpcr &= ~LPCR_TC;
+
        /* On POWER8 and above, userspace can modify AIL */
        if (!cpu_has_feature(CPU_FTR_ARCH_207S))
                lpcr &= ~LPCR_AIL;