On Thu, Nov 13, 2025 at 02:56:16PM -0800, Sean Christopherson wrote: > Fold svm_check_exit_valid() and svm_handle_invalid_exit() into their sole > caller, svm_invoke_exit_handler(), as having tiny single-use helpers makes > the code unncessarily difficult to follow. This will also allow for > additional cleanups in svm_invoke_exit_handler(). > > No functional change intended. > > Suggested-by: Yosry Ahmed <[email protected]> > Signed-off-by: Sean Christopherson <[email protected]>
Reviewed-by: Yosry Ahmed <[email protected]> > --- > arch/x86/kvm/svm/svm.c | 25 ++++++++++--------------- > 1 file changed, 10 insertions(+), 15 deletions(-) > > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 52b759408853..638a67ef0c37 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -3433,23 +3433,13 @@ static void dump_vmcb(struct kvm_vcpu *vcpu) > sev_free_decrypted_vmsa(vcpu, save); > } > > -static bool svm_check_exit_valid(u64 exit_code) > -{ > - return (exit_code < ARRAY_SIZE(svm_exit_handlers) && > - svm_exit_handlers[exit_code]); > -} > - > -static int svm_handle_invalid_exit(struct kvm_vcpu *vcpu, u64 exit_code) > -{ > - dump_vmcb(vcpu); > - kvm_prepare_unexpected_reason_exit(vcpu, exit_code); > - return 0; > -} > - > int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 exit_code) > { > - if (!svm_check_exit_valid(exit_code)) > - return svm_handle_invalid_exit(vcpu, 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) > @@ -3468,6 +3458,11 @@ int svm_invoke_exit_handler(struct kvm_vcpu *vcpu, u64 > exit_code) > #endif > #endif > return svm_exit_handlers[exit_code](vcpu); > + > +unexpected_vmexit: > + dump_vmcb(vcpu); > + kvm_prepare_unexpected_reason_exit(vcpu, exit_code); > + return 0; > } > > static void svm_get_exit_info(struct kvm_vcpu *vcpu, u32 *reason, > -- > 2.52.0.rc1.455.g30608eb744-goog >
