Re: [PATCH 0/2] KVM: SVM: Fix unexpected #UD on INT3 in SEV guests

From: Tom Lendacky
Date: Tue Aug 22 2023 - 09:55:27 EST


On 8/10/23 18:49, Sean Christopherson wrote:
Fix a bug where KVM injects a bogus #UD for SEV guests when trying to skip
an INT3 as part of re-injecting the associated #BP that got kinda sorta
intercepted due to a #NPF occuring while vectoring/delivering the #BP.

I haven't actually confirmed that patch 1 fixes the bug, as it's a
different change than what I originally proposed. I'm 99% certain it will
work, but I definitely need verification that it fixes the problem

Patch 2 is a tangentially related cleanup to make NRIPS a requirement for
enabling SEV, e.g. so that we don't ever get "bug" reports of SEV guests
not working when NRIPS is disabled.

Sean Christopherson (2):
KVM: SVM: Don't inject #UD if KVM attempts emulation of SEV guest w/o
insn
KVM: SVM: Require nrips support for SEV guests (and beyond)

arch/x86/kvm/svm/sev.c | 2 +-
arch/x86/kvm/svm/svm.c | 37 ++++++++++++++++++++-----------------
arch/x86/kvm/svm/svm.h | 1 +
3 files changed, 22 insertions(+), 18 deletions(-)

We ran some stress tests against a version of the kernel without this fix and we're able to reproduce the issue, but not reliably, after a few hours. With this patch, it has not reproduced after running for a week.

Not as reliable a scenario as the original reporter, but this looks like it resolves the issue.

So, for the series:

Reviewed-by: Tom Lendacky <thomas.lendacky@xxxxxxx>



base-commit: 240f736891887939571854bd6d734b6c9291f22e