Re: [PATCH 07/11] KVM: nVMX: Release shadow vmcs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Gleb Natapov <gleb@xxxxxxxxxx> wrote on 18/04/2013 12:12:18 PM:

> On Thu, Apr 18, 2013 at 11:37:59AM +0300, Abel Gordon wrote:
> > Unmap vmcs12 and release the corresponding shadow vmcs
> >
> > Signed-off-by: Abel Gordon <abelg@xxxxxxxxxx>
> > ---
> >  arch/x86/kvm/vmx.c |   20 ++++++++++++--------
> >  1 file changed, 12 insertions(+), 8 deletions(-)
> >
> > --- .before/arch/x86/kvm/vmx.c   2013-04-18 11:28:23.000000000 +0300
> > +++ .after/arch/x86/kvm/vmx.c   2013-04-18 11:28:23.000000000 +0300
> > @@ -5607,6 +5607,12 @@ static int nested_vmx_check_permission(s
> >     return 1;
> >  }
> >
> > +static inline void nested_release_vmcs12(struct vcpu_vmx *vmx)
> > +{
> > +   kunmap(vmx->nested.current_vmcs12_page);
> > +   nested_release_page(vmx->nested.current_vmcs12_page);
> > +}
> > +
> >  /*
> >   * Free whatever needs to be freed from vmx->nested when L1 goes down,
or
> >   * just stops using VMX.
> > @@ -5617,8 +5623,9 @@ static void free_nested(struct vcpu_vmx
> >        return;
> >     vmx->nested.vmxon = false;
> >     if (vmx->nested.current_vmptr != -1ull) {
> > -      kunmap(vmx->nested.current_vmcs12_page);
> > -      nested_release_page(vmx->nested.current_vmcs12_page);
> > +      nested_release_vmcs12(vmx);
> > +      if (enable_shadow_vmcs)
> > +         free_vmcs(vmx->nested.current_shadow_vmcs);
> Should be freed even if vmx->nested.current_vmptr == -1, no?

Yes you are right. Now that we re-use the shadow vmcs we MUST free also
if there is no current vmcs. I will fix this.
Do you have any other comments before I send v5 (hopefully the last
version) ?


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux