KVM: vmx: fix VPID is 0000H in non-root operation
authorWanpeng Li <wanpeng.li@hotmail.com>
Wed, 16 Sep 2015 11:31:11 +0000 (19:31 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 16 Sep 2015 13:17:27 +0000 (15:17 +0200)
commit04bb92e4b4cf06a66889d37b892b78f926faa9d4
tree31e7249964de71dc1371b78f3296f184fcb5adac
parent62bea5bff486644ecf363fe8a1a2f6f32c614a49
KVM: vmx: fix VPID is 0000H in non-root operation

Reference SDM 28.1:

The current VPID is 0000H in the following situations:
- Outside VMX operation. (This includes operation in system-management
  mode under the default treatment of SMIs and SMM with VMX operation;
  see Section 34.14.)
- In VMX root operation.
- In VMX non-root operation when the “enable VPID” VM-execution control
  is 0.

The VPID should never be 0000H in non-root operation when "enable VPID"
VM-execution control is 1. However, commit 34a1cd60 ("kvm: x86: vmx:
move some vmx setting from vmx_init() to hardware_setup()") remove the
codes which reserve 0000H for VMX root operation.

This patch fix it by again reserving 0000H for VMX root operation.

Cc: stable@vger.kernel.org # 3.19+
Fixes: 34a1cd60d17f62c1f077c1478a6c2ca8c3d17af4
Reported-by: Wincy Van <fanwenyi0529@gmail.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c