diff options
author | Vitaly Kuznetsov <[email protected]> | 2019-08-13 15:53:30 +0200 |
---|---|---|
committer | Paolo Bonzini <[email protected]> | 2019-08-22 10:09:19 +0200 |
commit | f8ea7c6049d5d0766b84c8107583ed0094773d06 (patch) | |
tree | 39d640e2cd1236203daf92bea3d4fe5b2b860d92 /scripts/gdb/linux/modules.py | |
parent | 05402f64544f054edbe41f45f6ec52dbe0c1a324 (diff) |
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 <[email protected]>
Signed-off-by: Vitaly Kuznetsov <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/modules.py')
0 files changed, 0 insertions, 0 deletions