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

From: David Edmondson
Date: Thu Jul 08 2021 - 10:26:12 EST


On Wednesday, 2021-07-07 at 23:22:44 UTC, David Matlack wrote:

> 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?

Given that this is intended as a debug aid, having the full exit reason
makes sense.

>> - 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
>>

dme.
--
You know it's not the twilight zone.