diff options
author | Nadav Amit <namit@cs.technion.ac.il> | 2014-05-07 15:32:49 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-05-07 17:24:59 +0200 |
commit | a4ab9d0cf1ef0bf521bb69099aa464f38c71393c (patch) | |
tree | 2e5c799010d8be702afcc0b78925c51581bcb55c | |
parent | 4291b58885f5af560488a5b9667ca6930b9fdc3d (diff) | |
download | linux-a4ab9d0cf1ef0bf521bb69099aa464f38c71393c.tar.gz linux-a4ab9d0cf1ef0bf521bb69099aa464f38c71393c.tar.bz2 linux-a4ab9d0cf1ef0bf521bb69099aa464f38c71393c.zip |
KVM: vmx: handle_dr does not handle RSP correctly
The RSP register is not automatically cached, causing mov DR instruction with
RSP to fail. Instead the regular register accessing interface should be used.
Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | arch/x86/kvm/vmx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index a5fd47e4abfc..61e818d80732 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -5143,7 +5143,7 @@ static int handle_dr(struct kvm_vcpu *vcpu) return 1; kvm_register_write(vcpu, reg, val); } else - if (kvm_set_dr(vcpu, dr, vcpu->arch.regs[reg])) + if (kvm_set_dr(vcpu, dr, kvm_register_read(vcpu, reg))) return 1; skip_emulated_instruction(vcpu); |