KVM: VMX: flush TLB with INVEPT on cpu migration
It is possible that stale EPTP-tagged mappings are used, if a vcpu migrates to a different pcpu. Set KVM_REQ_TLB_FLUSH in vmx_vcpu_load, when switching pcpus, which will invalidate both VPID and EPT mappings on the next vm-entry. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
b2d83cfa3f
commit
eb5109e311
|
@ -709,7 +709,7 @@ static void vmx_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
|
||||||
if (vcpu->cpu != cpu) {
|
if (vcpu->cpu != cpu) {
|
||||||
vcpu_clear(vmx);
|
vcpu_clear(vmx);
|
||||||
kvm_migrate_timers(vcpu);
|
kvm_migrate_timers(vcpu);
|
||||||
vpid_sync_vcpu_all(vmx);
|
set_bit(KVM_REQ_TLB_FLUSH, &vcpu->requests);
|
||||||
local_irq_disable();
|
local_irq_disable();
|
||||||
list_add(&vmx->local_vcpus_link,
|
list_add(&vmx->local_vcpus_link,
|
||||||
&per_cpu(vcpus_on_cpu, cpu));
|
&per_cpu(vcpus_on_cpu, cpu));
|
||||||
|
|
Loading…
Reference in New Issue