projects/linux·commit 2c46d2ae

KVM: SVM: Advance instruction pointer in dr_intercept

2c46d2ae · Joerg Roedel <[email protected]> · 2011-02-09 18:29:39 +01:00

In the dr_intercept function a new cpu-feature called
decode-assists is implemented and used when available. This
code-path does not advance the guest-rip causing the guest
to dead-loop over mov-dr instructions. This is fixed by this
patch.

Signed-off-by: Joerg Roedel <[email protected]>
Signed-off-by: Avi Kivity <[email protected]>
Commit
2c46d2aec054e61a33feac8c3992218eabdcc22a
Parents
a0dc00b4

Changes

1 files changed · +2 −0

FileStatusAddDelContent
arch/x86/kvm/svm.cmodified+2−0View file

arch/x86/kvm/svm.c

View file
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 54ce246..63fec15 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -2777,6 +2777,8 @@ static int dr_interception(struct vcpu_svm *svm)
kvm_register_write(&svm->vcpu, reg, val);
}
+ skip_emulated_instruction(&svm->vcpu);
+
return 1;
}