]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
KVM: get_tss_base_addr() should return a gpa_t
authorGleb Natapov <gleb@redhat.com>
Sun, 25 Oct 2009 15:42:02 +0000 (17:42 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 10 Nov 2009 00:22:43 +0000 (16:22 -0800)
commit abb3911965c1bd8eea305f64d4840a314259d96d upstream.

If TSS we are switching to resides in high memory task switch will fail
since address will be truncated. Windows2k3 does this sometimes when
running with more then 4G

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kvm/x86.c

index aa4c46f9b17cf5346e2415d6f57232956587746a..26e454ccd0a842c6c65fa8dd64eeb2ba85134d7f 100644 (file)
@@ -3762,7 +3762,7 @@ static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector,
        return kvm_write_guest(vcpu->kvm, gpa, seg_desc, 8);
 }
 
-static u32 get_tss_base_addr(struct kvm_vcpu *vcpu,
+static gpa_t get_tss_base_addr(struct kvm_vcpu *vcpu,
                             struct desc_struct *seg_desc)
 {
        u32 base_addr;