diff options
author | Gleb Natapov <gleb@redhat.com> | 2013-08-04 08:08:06 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2013-08-07 09:57:32 -0400 |
commit | 205befd9a5c701b56f569434045821f413f08f6d (patch) | |
tree | cd28f71ed49c5b6fa69ee4cde6129ff826672eeb /arch/x86/kvm/vmx.c | |
parent | 63fbf59f8a31548e64cdc3adc5d0997be0486b27 (diff) |
KVM: nVMX: correctly set tr base on nested vmexit emulation
After commit 21feb4eb64e21f8dc91136b91ee886b978ce6421 tr base is zeroed
during vmexit. Set it to L1's HOST_TR_BASE. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=60679
Reported-by: Yongjie Ren <yongjie.ren@intel.com>
Reviewed-by: Arthur Chunqi Li <yzt356@gmail.com>
Tested-by: Yongjie Ren <yongjie.ren@intel.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/vmx.c')
-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 c143f4087d19..30974c3efa45 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -8069,7 +8069,7 @@ static void load_vmcs12_host_state(struct kvm_vcpu *vcpu, | |||
8069 | seg.base = vmcs12->host_gs_base; | 8069 | seg.base = vmcs12->host_gs_base; |
8070 | vmx_set_segment(vcpu, &seg, VCPU_SREG_GS); | 8070 | vmx_set_segment(vcpu, &seg, VCPU_SREG_GS); |
8071 | seg = (struct kvm_segment) { | 8071 | seg = (struct kvm_segment) { |
8072 | .base = 0, | 8072 | .base = vmcs12->host_tr_base, |
8073 | .limit = 0x67, | 8073 | .limit = 0x67, |
8074 | .selector = vmcs12->host_tr_selector, | 8074 | .selector = vmcs12->host_tr_selector, |
8075 | .type = 11, | 8075 | .type = 11, |