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