On Tue, Aug 27, 2019 at 01:07:04PM +0000, Jan Dakinevich wrote: > x86_emulate_instruction(), the caller of x86_decode_insn(), expects > that x86_decode_insn()'s returning value belongs to EMULATION_* name > space. However, this function may return value from X86EMUL_* name > space. > > Although, the code behaves properly (because both X86EMUL_CONTINUE and > EMULATION_OK are equal to 0) this change makes code more consistent and > it is required for further fixes. > > Cc: Denis Lunev <den@xxxxxxxxxxxxx> > Cc: Roman Kagan <rkagan@xxxxxxxxxxxxx> > Cc: Denis Plotnikov <dplotnikov@xxxxxxxxxxxxx> > Signed-off-by: Jan Dakinevich <jan.dakinevich@xxxxxxxxxxxxx> > --- > arch/x86/kvm/emulate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c > index 718f7d9..6170ddf 100644 > --- a/arch/x86/kvm/emulate.c > +++ b/arch/x86/kvm/emulate.c > @@ -5144,7 +5144,7 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len) > else { > rc = __do_insn_fetch_bytes(ctxt, 1); > if (rc != X86EMUL_CONTINUE) > - return rc; > + goto done; Funny how things go unnoticed for years and then suddenly... https://lkml.kernel.org/r/9bf79098-703c-e82b-7e7d-1c0a6a1023c2@xxxxxxxxxx > } > > switch (mode) { > -- > 2.1.4 >