History

kvm: nVMX: Don't validate disabled secondary controls

According to the SDM, if the "activate secondary controls" primary processor-based VM-execution control is 0, no checks are performed on the secondary processor-based VM-execution controls.

Jim Mattson committed 9 years ago

Commit 2e5b0bd1 parent 0266c891 file · +4 −3Browse files

Unified · Split

arch/x86/kvm/vmx.c+4−3
@@ -10240,9 +10240,10 @@ static int check_vmentry_prereqs(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) · 10239 unmodified lines
10240 if (!vmx_control_verify(vmcs12->cpu_based_vm_exec_control,10240 if (!vmx_control_verify(vmcs12->cpu_based_vm_exec_control,
10241 vmx->nested.nested_vmx_procbased_ctls_low,10241 vmx->nested.nested_vmx_procbased_ctls_low,
10242 vmx->nested.nested_vmx_procbased_ctls_high) ||10242 vmx->nested.nested_vmx_procbased_ctls_high) ||
10243 !vmx_control_verify(vmcs12->secondary_vm_exec_control,10243 (nested_cpu_has(vmcs12, CPU_BASED_ACTIVATE_SECONDARY_CONTROLS) &&
10244 vmx->nested.nested_vmx_secondary_ctls_low,10244 !vmx_control_verify(vmcs12->secondary_vm_exec_control,
10245 vmx->nested.nested_vmx_secondary_ctls_high) ||10245 vmx->nested.nested_vmx_secondary_ctls_low,
10246 vmx->nested.nested_vmx_secondary_ctls_high)) ||
10246 !vmx_control_verify(vmcs12->pin_based_vm_exec_control,10247 !vmx_control_verify(vmcs12->pin_based_vm_exec_control,
10247 vmx->nested.nested_vmx_pinbased_ctls_low,10248 vmx->nested.nested_vmx_pinbased_ctls_low,
10248 vmx->nested.nested_vmx_pinbased_ctls_high) ||10249 vmx->nested.nested_vmx_pinbased_ctls_high) ||