linux_dsm_epyc7002/arch/x86/kvm/vmx
Vitaly Kuznetsov f8ea7c6049 x86: kvm: svm: propagate errors from skip_emulated_instruction()
On AMD, kvm_x86_ops->skip_emulated_instruction(vcpu) can, in theory,
fail: in !nrips case we call kvm_emulate_instruction(EMULTYPE_SKIP).
Currently, we only do printk(KERN_DEBUG) when this happens and this
is not ideal. Propagate the error up the stack.

On VMX, skip_emulated_instruction() doesn't fail, we have two call
sites calling it explicitly: handle_exception_nmi() and
handle_task_switch(), we can just ignore the result.

On SVM, we also have two explicit call sites:
svm_queue_exception() and it seems we don't need to do anything there as
we check if RIP was advanced or not. In task_switch_interception(),
however, we are better off not proceeding to kvm_task_switch() in case
skip_emulated_instruction() failed.

Suggested-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-08-22 10:09:19 +02:00
..
capabilities.h KVM: VMX: Include architectural defs header in capabilities.h 2019-04-30 21:32:21 +02:00
evmcs.c x86/kvm/nVMX: fix VMCLEAR when Enlightened VMCS is in use 2019-07-02 18:56:00 +02:00
evmcs.h x86/kvm/nVMX: fix VMCLEAR when Enlightened VMCS is in use 2019-07-02 18:56:00 +02:00
nested.c KVM: nVMX: Set cached_vmcs12 and cached_shadow_vmcs12 NULL after free 2019-07-22 13:55:49 +02:00
nested.h KVM: nVMX: Use descriptive names for VMCS sync functions and flags 2019-06-18 11:46:06 +02:00
ops.h KVM: VMX: remove unneeded 'asm volatile ("")' from vmcs_write64 2019-06-05 14:14:49 +02:00
pmu_intel.c KVM: x86/vPMU: reset pmc->counter to 0 for pmu fixed_counters 2019-07-17 12:23:20 +02:00
vmcs12.c KVM: nVMX: Move vmcs12 code to dedicated files 2018-12-14 12:34:30 +01:00
vmcs12.h KVM/arm updates for 5.3 2019-07-11 15:14:16 +02:00
vmcs_shadow_fields.h KVM: nVMX: shadow pin based execution controls 2019-06-18 17:10:50 +02:00
vmcs.h KVM: VMX: Leave preemption timer running when it's disabled 2019-06-18 17:10:46 +02:00
vmenter.S x86/kvm: Replace vmx_vmenter()'s call to kvm_spurious_fault() with UD2 2019-07-18 21:01:03 +02:00
vmx.c x86: kvm: svm: propagate errors from skip_emulated_instruction() 2019-08-22 10:09:19 +02:00
vmx.h KVM: VMX: Explicitly initialize controls shadow at VMCS allocation 2019-06-18 11:47:44 +02:00