]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "KVM: Correct ordering of ldt reload wrt fs/gs reload"
authorMarcelo Tosatti <mtosatti@redhat.com>
Thu, 31 Mar 2011 18:58:55 +0000 (11:58 -0700)
committerAK <andi@firstfloor.org>
Thu, 31 Mar 2011 18:58:55 +0000 (11:58 -0700)
This reverts commit d3f813da18f83a31f2678988b450e6a1c94c95ed.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c

index 9ca703219d72e23f98f7acfeb1bc66f3cd2e8344..02a5603695e319102ed0d9cc203ff88dc853ba2a 100644 (file)
@@ -3184,9 +3184,9 @@ static void svm_vcpu_run(struct kvm_vcpu *vcpu)
        vcpu->arch.regs[VCPU_REGS_RSP] = svm->vmcb->save.rsp;
        vcpu->arch.regs[VCPU_REGS_RIP] = svm->vmcb->save.rip;
 
-       kvm_load_ldt(ldt_selector);
        kvm_load_fs(fs_selector);
        kvm_load_gs(gs_selector);
+       kvm_load_ldt(ldt_selector);
        load_host_msrs(vcpu);
 
        reload_tss(vcpu);
index 39ac45694d51d742f05e40030165e1ef639eedd3..7d043883d9bc8e73891f78f3ef061b5eee5d622c 100644 (file)
@@ -791,6 +791,8 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
 
        ++vmx->vcpu.stat.host_state_reload;
        vmx->host_state.loaded = 0;
+       if (vmx->host_state.fs_reload_needed)
+               kvm_load_fs(vmx->host_state.fs_sel);
        if (vmx->host_state.gs_ldt_reload_needed) {
                kvm_load_ldt(vmx->host_state.ldt_sel);
                /*
@@ -804,8 +806,6 @@ static void __vmx_load_host_state(struct vcpu_vmx *vmx)
 #endif
                local_irq_restore(flags);
        }
-       if (vmx->host_state.fs_reload_needed)
-               loadsegment(fs, vmx->host_state.fs_sel);
        reload_tss();
 #ifdef CONFIG_X86_64
        if (is_long_mode(&vmx->vcpu)) {