]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86: Defer the MMU unload to the normal path on an global INVPCID
authorSean Christopherson <seanjc@google.com>
Fri, 5 Mar 2021 01:10:58 +0000 (17:10 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 15 Mar 2021 08:42:22 +0000 (04:42 -0400)
commite8be87a9d7f3e7d5e0aaa859e584b1a6f728fa2c
tree6fd546463edb4ae2f30d2168d9b2826095ed2457
parent205823df7b50fb197582b1b316e2c90cb91e6242
KVM: x86: Defer the MMU unload to the normal path on an global INVPCID

Defer unloading the MMU after a INVPCID until the instruction emulation
has completed, i.e. until after RIP has been updated.

On VMX, this is a benign bug as VMX doesn't touch the MMU when skipping
an emulated instruction.  However, on SVM, if nrip is disabled, the
emulator is used to skip an instruction, which would lead to fireworks
if the emulator were invoked without a valid MMU.

Fixes: 1c8060ae676a ("kvm: vmx: Support INVPCID in shadow paging mode")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210305011101.3597423-15-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c