summaryrefslogtreecommitdiff
path: root/arch/x86/kvm
diff options
context:
space:
mode:
authorNadav Amit <namit@cs.technion.ac.il>2014-05-07 12:32:49 (GMT)
committerPaolo Bonzini <pbonzini@redhat.com>2014-05-07 15:24:59 (GMT)
commita4ab9d0cf1ef0bf521bb69099aa464f38c71393c (patch)
tree2e5c799010d8be702afcc0b78925c51581bcb55c /arch/x86/kvm
parent4291b58885f5af560488a5b9667ca6930b9fdc3d (diff)
downloadlinux-a4ab9d0cf1ef0bf521bb69099aa464f38c71393c.tar.xz
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>
Diffstat (limited to 'arch/x86/kvm')
-rw-r--r--arch/x86/kvm/vmx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index a5fd47e..61e818d 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);