From: Peter Gonda Date: Thu, 17 Mar 2022 21:19:13 +0000 (-0700) Subject: x86/sev-es: Replace open-coded hlt-loop with sev_es_terminate() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e720ea52e85c9d00cf8c5769795d0a3e585524f6;p=linux.git x86/sev-es: Replace open-coded hlt-loop with sev_es_terminate() Replace the halt loop in handle_vc_boot_ghcb() with an sev_es_terminate(). The HLT gives the system no indication the guest is unhappy. The termination request will signal there was an error during VC handling during boot. [ bp: Update it to pass the reason set too. ] Signed-off-by: Peter Gonda Signed-off-by: Borislav Petkov Reviewed-by: Joerg Roedel Link: https://lore.kernel.org/r/20220317211913.1397427-1-pgonda@google.com --- diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c index ace43e116b40a..f01f4550e2c62 100644 --- a/arch/x86/kernel/sev.c +++ b/arch/x86/kernel/sev.c @@ -1982,8 +1982,7 @@ bool __init handle_vc_boot_ghcb(struct pt_regs *regs) fail: show_regs(regs); - while (true) - halt(); + sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SEV_ES_GEN_REQ); } /*