On Thu, Nov 13, 2025 at 02:56:17PM -0800, Sean Christopherson wrote: > Check for an unexpected/unhandled VM-Exit after the manual RETPOLINE=y > handling. The entire point of the RETPOLINE checks is to optimize for > common VM-Exits, i.e. checking for the rare case of an unsupported > VM-Exit is counter-productive. This also aligns SVM and VMX exit handling. > > No functional change intended. > > Signed-off-by: Sean Christopherson <[email protected]>
Reviewed-by: Yosry Ahmed <[email protected]> > --- > arch/x86/kvm/svm/svm.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 638a67ef0c37..202a4d8088a2 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -3435,12 +3435,6 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) > > int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 exit_code) > { > - if (exit_code >= ARRAY_SIZE(svm_exit_handlers)) > - goto unexpected_vmexit; > - > - if (!svm_exit_handlers[exit_code]) > - goto unexpected_vmexit; > - > #ifdef CONFIG_MITIGATION_RETPOLINE > if (exit_code == SVM_EXIT_MSR) > return msr_interception(vcpu); > @@ -3457,6 +3451,12 @@ int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 > exit_code) > return sev_handle_vmgexit(vcpu); > #endif > #endif > + if (exit_code >= ARRAY_SIZE(svm_exit_handlers)) > + goto unexpected_vmexit; > + > + if (!svm_exit_handlers[exit_code]) > + goto unexpected_vmexit; > + > return svm_exit_handlers[exit_code](vcpu); > > unexpected_vmexit: > -- > 2.52.0.rc1.455.g30608eb744-goog >
