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
..
2019-07-19 12:15:33 -07:00
2019-07-17 09:36:38 -07:00
2019-07-11 10:09:44 -07:00
2019-08-09 16:53:39 +02:00
2019-07-16 19:23:24 -07:00
2019-07-12 15:38:05 -07:00
2019-08-09 16:53:39 +02:00
2019-07-20 09:34:55 -07:00
2019-08-09 16:53:39 +02:00
2019-07-20 09:34:55 -07:00
2019-07-12 16:06:27 -07:00