OpenCloudOS-Kernel/arch/x86/kvm/vmx
Sean Christopherson a0860d68a2 KVM: nVMX: Don't stuff secondary execution control if it's not supported
When stuffing the allowed secondary execution controls for nested VMX in
response to CPUID updates, don't set the allowed-1 bit for a feature that
isn't supported by KVM, i.e. isn't allowed by the canonical vmcs_config.

WARN if KVM attempts to manipulate a feature that isn't supported.  All
features that are currently stuffed are always advertised to L1 for
nested VMX if they are supported in KVM's base configuration, and no
additional features should ever be added to the CPUID-induced stuffing
(updating VMX MSRs in response to CPUID updates is a long-standing KVM
flaw that is slowly being fixed).

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20221213062306.667649-3-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-12-23 12:32:03 -05:00
..
capabilities.h KVM: x86: Track supported PERF_CAPABILITIES in kvm_caps 2022-11-09 12:31:11 -05:00
hyperv.c KVM: x86: Make kvm_hv_get_assist_page() return 0/-errno 2022-11-18 12:59:18 -05:00
hyperv.h KVM: nVMX: hyper-v: Enable L2 TLB flush 2022-11-18 12:59:17 -05:00
nested.c KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1 2022-12-23 12:22:37 -05:00
nested.h KVM: nVMX: Reword comments about generating nested CR0/4 read shadows 2022-11-30 16:27:17 -08:00
pmu_intel.c KVM: x86/pmu: Defer counter emulated overflow via pmc->prev_counter 2022-11-09 12:31:36 -05:00
posted_intr.c KVM: nVMX: clean up posted interrupt descriptor try_cmpxchg 2022-06-24 11:45:45 -04:00
posted_intr.h KVM: VMX: enable IPI virtualization 2022-06-08 04:47:37 -04:00
run_flags.h KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS 2022-06-27 10:34:00 +02:00
sgx.c KVM: VMX: Resume guest immediately when injecting #GP on ECREATE 2022-11-30 15:55:25 -08:00
sgx.h KVM: VMX: Enable SGX virtualization for SGX1, SGX2 and LC 2021-04-20 04:18:56 -04:00
vmcs.h KVM: VMX: Detect Tertiary VM-Execution control when setup VMCS config 2022-06-08 04:47:18 -04:00
vmcs12.c KVM: nVMX: Rename vmcs_to_field_offset{,_table} 2022-01-28 07:38:26 -05:00
vmcs12.h bug: introduce ASSERT_STRUCT_OFFSET 2022-11-09 12:31:16 -05:00
vmcs_shadow_fields.h KVM: Fix some out-dated function names in comment 2020-01-21 13:57:27 +01:00
vmenter.S KVM: VMX: Make vmread_error_trampoline() uncallable from C code 2022-11-30 16:27:47 -08:00
vmx.c KVM: nVMX: Don't stuff secondary execution control if it's not supported 2022-12-23 12:32:03 -05:00
vmx.h KVM: VMX: Add missing CPU based VM execution controls to vmcs_config 2022-09-26 12:02:56 -04:00
vmx_ops.h KVM: VMX: Make vmread_error_trampoline() uncallable from C code 2022-11-30 16:27:47 -08:00