Skip to content

Commit bd31ecf

Browse files
npigginmpe
authored andcommitted
KVM: PPC: Book3S: Fix CONFIG_TRANSACTIONAL_MEM=n crash
When running CPU_FTR_P9_TM_HV_ASSIST, HFSCR[TM] is set for the guest even if the host has CONFIG_TRANSACTIONAL_MEM=n, which causes it to be unprepared to handle guest exits while transactional. Normal guests don't have a problem because the HTM capability will not be advertised, but a rogue or buggy one could crash the host. Fixes: 4bb3c7a ("KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9") Reported-by: Alexey Kardashevskiy <[email protected]> Signed-off-by: Nicholas Piggin <[email protected]> Signed-off-by: Michael Ellerman <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent e44fbdb commit bd31ecf

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

arch/powerpc/kvm/book3s_hv.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2697,8 +2697,10 @@ static int kvmppc_core_vcpu_create_hv(struct kvm_vcpu *vcpu)
26972697
HFSCR_DSCR | HFSCR_VECVSX | HFSCR_FP | HFSCR_PREFIX;
26982698
if (cpu_has_feature(CPU_FTR_HVMODE)) {
26992699
vcpu->arch.hfscr &= mfspr(SPRN_HFSCR);
2700+
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
27002701
if (cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST))
27012702
vcpu->arch.hfscr |= HFSCR_TM;
2703+
#endif
27022704
}
27032705
if (cpu_has_feature(CPU_FTR_TM_COMP))
27042706
vcpu->arch.hfscr |= HFSCR_TM;

0 commit comments

Comments
 (0)