On Sat, Feb 23, 2013 at 10:35:37PM +0100, Jan Kiszka wrote:
> From: Jan Kiszka <[email protected]>
>
> Switching the VMCS obviously invalidates what may have been cached about
> the guest segments.
>
> Signed-off-by: Jan Kiszka <[email protected]>
Applied, thanks.
> ---
>
> Probably, the missing invalidations are harmless ATM, but you never
> know.
>
> arch/x86/kvm/vmx.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 94f3b66..d45f0e0 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -7236,6 +7236,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);
> @@ -7504,6 +7506,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);
> --
> 1.7.3.4
--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html