OSDN Git Service

KVM: x86: do not load vmcs12 pages while still in SMM
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 18 Jul 2018 16:49:01 +0000 (18:49 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 6 Aug 2018 15:57:58 +0000 (17:57 +0200)
commit7f7f1ba33cf2c21d001821313088c231db42ff40
treeeed46700a5932890c27f8770f244c9bdb21527fc
parentfa3899add1056f209c5b61d0c60cec34775a6781
KVM: x86: do not load vmcs12 pages while still in SMM

If the vCPU enters system management mode while running a nested guest,
RSM starts processing the vmentry while still in SMM.  In that case,
however, the pages pointed to by the vmcs12 might be incorrectly
loaded from SMRAM.  To avoid this, delay the handling of the pages
until just before the next vmentry.  This is done with a new request
and a new entry in kvm_x86_ops, which we will be able to reuse for
nested VMX state migration.

Extracted from a patch by Jim Mattson and KarimAllah Ahmed.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c