On Mon, Aug 13, 2018 at 12:57:17PM +0300, Roman Kagan wrote:
> commit 63aff65573d73eb8dda4732ad4ef222dd35e4862 upstream.
> 
> VPID for the nested vcpu is allocated at vmx_create_vcpu whenever nested
> vmx is turned on with the module parameter.
> 
> However, it's only freed if the L1 guest has executed VMXON which is not
> a given.
> 
> As a result, on a system with nested==on every creation+deletion of an
> L1 vcpu without running an L2 guest results in leaking one vpid.  Since
> the total number of vpids is limited to 64k, they can eventually get
> exhausted, preventing L2 from starting.
> 
> Delay allocation of the L2 vpid until VMXON emulation, thus matching its
> freeing.
> 
> Fixes: 5c614b3583e7b6dab0c86356fa36c2bcbb8322a0
> Cc: sta...@vger.kernel.org
> Signed-off-by: Roman Kagan <rka...@virtuozzo.com>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> 
> (cherry picked from commit 020a90f653dd02dbbae389da91f510d5f33984dc)
... on stable/linux-4.9.y
VZ-Bug: #PSBM-86479

> Signed-off-by: Roman Kagan <rka...@virtuozzo.com>
> ---
>  arch/x86/kvm/vmx.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)

Roman.
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to