Re: [PATCH] KVM: X86: Add 'else' to unify fastop and execute call path

From: Sean Christopherson
Date: Tue Jan 21 2020 - 23:43:03 EST


On Wed, Jan 22, 2020 at 11:21:44AM +0800, linmiaohe wrote:
> From: Miaohe Lin <linmiaohe@xxxxxxxxxx>
>
> It also helps eliminate some duplicated code.
>
> Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
> ---

Reviewed-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>

> arch/x86/kvm/emulate.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
> index c7a0da45f60a..0accce94f660 100644
> --- a/arch/x86/kvm/emulate.c
> +++ b/arch/x86/kvm/emulate.c
> @@ -5683,11 +5683,9 @@ int x86_emulate_insn(struct x86_emulate_ctxt *ctxt)
> if (ctxt->d & Fastop) {
> void (*fop)(struct fastop *) = (void *)ctxt->execute;

The brackets can also be removed with a bit more cleanup, e.g. using a
typedef to handling casting ctxt->execute. I'll send a patch that can be
applied on top and/or squashed with this one.

> rc = fastop(ctxt, fop);
> - if (rc != X86EMUL_CONTINUE)
> - goto done;
> - goto writeback;
> + } else {
> + rc = ctxt->execute(ctxt);
> }
> - rc = ctxt->execute(ctxt);
> if (rc != X86EMUL_CONTINUE)
> goto done;
> goto writeback;
> --
> 2.19.1
>