Re: [PATCH 2/2] KVM: Protect race-condition between VMCS and current_vmcs on VMX hardware

Gregory Haskins
2007-07-26T15:15:20Z

On Thu, 2007-07-26 at 18:03 +0300, Avi Kivity wrote:
> Gregory Haskins wrote:
> > We need to provide locking around the current_vmcs/VMCS interactions to
> > protect against race conditions.
> >
> >
>
> Can you explain the race?

Sure. It can happen with two VMs are running simultaneously. Lets call
them VM-a and VM-b. Assume the scenario: VM-a is on CPU-x, gets
migrated to CPU-y, and VM-b gets scheduled in on CPU-x. There is a race
on CPU-x with the VMCS handling logic between the VM-b process context,
and the IPI to execute the __vcpu_clear for VM-a.

Disabling interrupts was chosen as the sync-primitive, because the code
will always be on the CPU in question.