Re: [PATCH v2 0/2] kvm: x86: Convey the exit reason to user-space on emulation failure

From: David Matlack
Date: Wed Jul 07 2021 - 19:22:54 EST


On Tue, Jul 06, 2021 at 11:12:05AM +0100, David Edmondson wrote:
> To help when debugging failures in the field, if instruction emulation
> fails, report the VM exit reason to userspace in order that it can be
> recorded.
>
> I'm unsure whether sgx_handle_emulation_failure() needs to be adapted
> to use the emulation_failure part of the exit union in struct kvm_run
> - advice welcomed.
>
> v2:
> - Improve patch comments (dmatlack)
> - Intel should provide the full exit reason (dmatlack)

I just asked if Intel should provide the full exit reason, I do not have
an opinion either way. It really comes down to your usecase for wanting
the exit reason. Would the full exit reason be useful or do you just
need the basic exit number?

> - Pass a boolean rather than flags (dmatlack)
> - Use the helper in kvm_task_switch() and kvm_handle_memory_failure()
> (dmatlack)
> - Describe the exit_reason field of the emulation_failure structure
> (dmatlack)
>
> David Edmondson (2):
> KVM: x86: Add kvm_x86_ops.get_exit_reason
> KVM: x86: On emulation failure, convey the exit reason to userspace
>
> arch/x86/include/asm/kvm-x86-ops.h | 1 +
> arch/x86/include/asm/kvm_host.h | 3 +++
> arch/x86/kvm/svm/svm.c | 6 ++++++
> arch/x86/kvm/vmx/vmx.c | 11 +++++++----
> arch/x86/kvm/x86.c | 22 +++++++++++++---------
> include/uapi/linux/kvm.h | 7 +++++++
> 6 files changed, 37 insertions(+), 13 deletions(-)
>
> --
> 2.30.2
>