KVM: nVMX: Clear segment cache after switching between L1 and L2
Switching the VMCS obviously invalidates what may have been cached about the guest segments. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
This commit is contained in:
parent
d6851fbeee
commit
36c3cc422b
@ -7271,6 +7271,8 @@ static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch)
|
||||
vcpu->cpu = cpu;
|
||||
put_cpu();
|
||||
|
||||
vmx_segment_cache_clear(vmx);
|
||||
|
||||
vmcs12->launch_state = 1;
|
||||
|
||||
prepare_vmcs02(vcpu, vmcs12);
|
||||
@ -7517,6 +7519,8 @@ static void nested_vmx_vmexit(struct kvm_vcpu *vcpu)
|
||||
vcpu->cpu = cpu;
|
||||
put_cpu();
|
||||
|
||||
vmx_segment_cache_clear(vmx);
|
||||
|
||||
/* if no vmcs02 cache requested, remove the one we used */
|
||||
if (VMCS02_POOL_SIZE == 0)
|
||||
nested_free_vmcs02(vmx, vmx->nested.current_vmptr);
|
||||
|
Loading…
Reference in New Issue
Block a user