Skip to contentSkip to conversation

get_tss_base_addr() should return gpa_t type.

PATCH In review Gleb Natapov 2 participants 2 messages Oct 25, 2009

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 get_tss_base_addr() should return gpa_t type.

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

arch/x86/kvm/x86.c +1 -1
index 11a6f2f..cbbda32 100644
@@ -4057,7 +4057,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);

--
Gleb.

#1 lore raw
Quoted 4 lines · Gleb Natapov

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

Applied and queued.

Signature · 1 line
error compiling committee.c: too many arguments to function