x86: KVM: svm: eliminate hardcoded RIP advancement from vmrun_interception()
authorVitaly Kuznetsov <vkuznets@redhat.com>
Tue, 13 Aug 2019 13:53:35 +0000 (15:53 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 22 Aug 2019 08:09:22 +0000 (10:09 +0200)
commitc8e16b78c6142afea428dc316c900644951cf7f3
tree8f394f9f0619860d30a3954580420f80c2e899e9
parente7134c1bb5af1ca6dcbd983e036e67b82e6a2de4
x86: KVM: svm: eliminate hardcoded RIP advancement from vmrun_interception()

Just like we do with other intercepts, in vmrun_interception() we should be
doing kvm_skip_emulated_instruction() and not just RIP += 3. Also, it is
wrong to increment RIP before nested_svm_vmrun() as it can result in
kvm_inject_gp().

We can't call kvm_skip_emulated_instruction() after nested_svm_vmrun() so
move it inside.

Suggested-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm.c