Skip to contentSkip to conversation

KVM: VMX: Enforce EPT pagetable level checking

PATCH Applied Sheng Yang 2 participants 2 messages Jun 2, 2010

Subsystems (3)
lore
Share & tools
lore

Sheng Yang

author
#0 lore raw

PATCH 1/1 KVM: VMX: Enforce EPT pagetable level checking

We only support 4 levels EPT pagetable now.

---
 arch/x86/kvm/vmx.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
arch/x86/kvm/vmx.c +7 -1
index 99ae513..d400fbb 100644
@@ -339,6 +339,11 @@ static inline bool cpu_has_vmx_ept_1g_page(void)
 	return vmx_capability.ept & VMX_EPT_1GB_PAGE_BIT;
 }
 
+static inline bool cpu_has_vmx_ept_4levels(void)
+{
+	return vmx_capability.ept & VMX_EPT_PAGE_WALK_4_BIT;
+}
+
 static inline bool cpu_has_vmx_invept_individual_addr(void)
 {
 	return vmx_capability.ept & VMX_EPT_EXTENT_INDIVIDUAL_BIT;
@@ -1567,7 +1572,8 @@ static __init int hardware_setup(void)
 	if (!cpu_has_vmx_vpid())
 		enable_vpid = 0;
 
-	if (!cpu_has_vmx_ept()) {
+	if (!cpu_has_vmx_ept() ||
+	    !cpu_has_vmx_ept_4levels()) {
 		enable_ept = 0;
 		enable_unrestricted_guest = 0;
 	}
Signature · 1 line
1.7.0.1
#1 lore raw
Quoted 6 lines · Sheng Yang

We only support 4 levels EPT pagetable now.

---
 arch/x86/kvm/vmx.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

Applied, thanks.