Re: [PATCH 2/2] KVM: VMX: Initialize vm86 TSS only once.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Feb 27, 2011 at 05:43:07PM +0200, Avi Kivity wrote:
> On 02/21/2011 12:07 PM, Gleb Natapov wrote:
> >Currently vm86 task is initialized on each real mode entry and vcpu
> >reset. Initialization is done by zeroing TSS and updating relevant
> >fields. But since all vcpus are using the same TSS there is a race where
> >one vcpu may use TSS while other vcpu is initializing it, so the vcpu
> >that uses TSS will see wrong TSS content and will behave incorrectly.
> >Fix that by initializing TSS only once.
> 
> Applied, thanks.
> 
> According to my reading of the code, if KVM_SET_TSS_ADDR is not
> invoked, the guest would fail both before and after the patch, yes?
> 
Hmmm. Actually no. Before the patch guest that doesn't use KVM_SET_TSS_ADDR
will use the top of slot zero. Should I fix that (how?), or should we
drop support for those old guests? The problem with using top of slot
zero is that this memory is available for guest use and we do not even
put it into e820 map as far as I see. Also there are patches floating
around that re-arrange memslots or even put them in a tree. They will
break old guests too.

--
			Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux