Re: [PATCH] KVM: VMX: Add 'else' to split mutually exclusive case

From: Vitaly Kuznetsov
Date: Mon Feb 17 2020 - 04:34:43 EST


linmiaohe <linmiaohe@xxxxxxxxxx> writes:

> From: Miaohe Lin <linmiaohe@xxxxxxxxxx>
>
> Each if branch in handle_external_interrupt_irqoff() is mutually
> exclusive. Add 'else' to make it clear and also avoid some unnecessary
> check.
>
> Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
> ---
> arch/x86/kvm/vmx/vmx.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index 9a6664886f2e..bb5c33440af8 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -6178,13 +6178,11 @@ static void handle_exception_nmi_irqoff(struct vcpu_vmx *vmx)
> /* if exit due to PF check for async PF */
> if (is_page_fault(vmx->exit_intr_info))
> vmx->vcpu.arch.apf.host_apf_reason = kvm_read_and_reset_pf_reason();
> -
> /* Handle machine checks before interrupts are enabled */
> - if (is_machine_check(vmx->exit_intr_info))
> + else if (is_machine_check(vmx->exit_intr_info))
> kvm_machine_check();
> -
> /* We need to handle NMIs before interrupts are enabled */
> - if (is_nmi(vmx->exit_intr_info)) {
> + else if (is_nmi(vmx->exit_intr_info)) {

We'll need to add braces to all branches of the statement,

if (is_page_fault(vmx->exit_intr_info)) {

} else if (is_machine_check(vmx->exit_intr_info)) {

} else if (is_nmi(vmx->exit_intr_info)) {

}

then.

> kvm_before_interrupt(&vmx->vcpu);
> asm("int $2");
> kvm_after_interrupt(&vmx->vcpu);

--
Vitaly