summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2009-10-25 16:42:02 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2009-11-04 15:42:36 +0100
commitabb3911965c1bd8eea305f64d4840a314259d96d (patch)
tree0df1063b5300a0914d1cbe6f49af7c607945d9db /arch/x86
parentKVM: x86: Catch potential overrun in MCE setup (diff)
downloadlinux-abb3911965c1bd8eea305f64d4840a314259d96d.tar.xz
linux-abb3911965c1bd8eea305f64d4840a314259d96d.zip
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>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kvm/x86.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 8a93fa894ba6..ae07d261527c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4051,7 +4051,7 @@ static int save_guest_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector,
return kvm_write_guest_virt(dtable.base + index*8, seg_desc, sizeof(*seg_desc), vcpu);
}
-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 = get_desc_base(seg_desc);