Re: [PATCH 04/10] KVM: VMX: Convert local exit_reason to u16 in nested_vmx_exit_reflected()

From: Vitaly Kuznetsov
Date: Fri Mar 13 2020 - 08:47:09 EST


Sean Christopherson <sean.j.christopherson@xxxxxxxxx> writes:

> Store only the basic exit reason in the local "exit_reason" variable in
> nested_vmx_exit_reflected(). Except for tracing, all references to
> exit_reason are expecting to encounter only the basic exit reason.
>
> Opportunistically align the params to nested_vmx_exit_handled_msr().
>
> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> ---
> arch/x86/kvm/vmx/nested.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
> index cb05bcbbfc4e..1848ca0116c0 100644
> --- a/arch/x86/kvm/vmx/nested.c
> +++ b/arch/x86/kvm/vmx/nested.c
> @@ -5374,7 +5374,7 @@ static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu,
> * MSR bitmap. This may be the case even when L0 doesn't use MSR bitmaps.
> */
> static bool nested_vmx_exit_handled_msr(struct kvm_vcpu *vcpu,
> - struct vmcs12 *vmcs12, u32 exit_reason)
> + struct vmcs12 *vmcs12, u16 exit_reason)
> {
> u32 msr_index = kvm_rcx_read(vcpu);
> gpa_t bitmap;
> @@ -5523,7 +5523,7 @@ bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu)
> u32 intr_info = vmcs_read32(VM_EXIT_INTR_INFO);
> struct vcpu_vmx *vmx = to_vmx(vcpu);
> struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
> - u32 exit_reason = vmx->exit_reason;
> + u16 exit_reason;
>
> if (vmx->nested.nested_run_pending)
> return false;
> @@ -5548,13 +5548,15 @@ bool nested_vmx_exit_reflected(struct kvm_vcpu *vcpu)
> */
> nested_mark_vmcs12_pages_dirty(vcpu);
>
> - trace_kvm_nested_vmexit(kvm_rip_read(vcpu), exit_reason,
> + trace_kvm_nested_vmexit(kvm_rip_read(vcpu), vmx->exit_reason,
> vmcs_readl(EXIT_QUALIFICATION),
> vmx->idt_vectoring_info,
> intr_info,
> vmcs_read32(VM_EXIT_INTR_ERROR_CODE),
> KVM_ISA_VMX);
>
> + exit_reason = vmx->exit_reason;
> +
> switch (exit_reason) {
> case EXIT_REASON_EXCEPTION_NMI:
> if (is_nmi(intr_info))

If the patch is looked at by itself (and not as part of the series) one
may ask to add a comment explaining that we do the trunctation
deliberately but with all patches of the series it is superfluous.

Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>

--
Vitaly