Re: [PATCH v2 01/11] KVM: nSVM: don't sync back tlb_ctl on nested VM exit

From: Maxim Levitsky
Date: Tue Dec 06 2022 - 07:14:37 EST


On Mon, 2022-12-05 at 19:35 +0530, Santosh Shukla wrote:
> Hi Maxim,
>
> On 11/30/2022 1:07 AM, Maxim Levitsky wrote:
> > The CPU doesn't change TLB_CTL value as stated in the PRM (15.16.2):
> >
> nits:
> s / PRM (15.16.2) / APM (15.16.1 - TLB Flush)

True for both changes, thanks!

Best regards,
Maxim Levitsky

>
> > "The VMRUN instruction reads, but does not change, the
> > value of the TLB_CONTROL field"
> >
> > Therefore the KVM shouldn't do that either.
> >
> > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> > ---
> > arch/x86/kvm/svm/nested.c | 1 -
> > 1 file changed, 1 deletion(-)
> >
> > diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c
> > index bc9cd7086fa972..37af0338da7c32 100644
> > --- a/arch/x86/kvm/svm/nested.c
> > +++ b/arch/x86/kvm/svm/nested.c
> > @@ -1010,7 +1010,6 @@ int nested_svm_vmexit(struct vcpu_svm *svm)
> > vmcb12->control.next_rip = vmcb02->control.next_rip;
> >
> > vmcb12->control.int_ctl = svm->nested.ctl.int_ctl;
> > - vmcb12->control.tlb_ctl = svm->nested.ctl.tlb_ctl;
> > vmcb12->control.event_inj = svm->nested.ctl.event_inj;
> > vmcb12->control.event_inj_err = svm->nested.ctl.event_inj_err;
> >