KVM: get_tss_base_addr() should return a gpa_t

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

Cc: stable@kernel.org
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>

authored by Gleb Natapov and committed by Marcelo Tosatti abb39119 a9e38c3e

+1 -1
+1 -1
arch/x86/kvm/x86.c
··· 4051 return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu); 4052 } 4053 4054 - static u32 get_tss_base_addr(struct kvm_vcpu *vcpu, 4055 struct desc_struct *seg_desc) 4056 { 4057 u32 base_addr = get_desc_base(seg_desc);
··· 4051 return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu); 4052 } 4053 4054 + static gpa_t get_tss_base_addr(struct kvm_vcpu *vcpu, 4055 struct desc_struct *seg_desc) 4056 { 4057 u32 base_addr = get_desc_base(seg_desc);