On 04.04.2018 19:12, Paolo Bonzini wrote: > On 04/04/2018 13:54, David Hildenbrand wrote: >>> +{ >>> + enum emulation_result er; >>> + >>> + er = emulate_instruction(vcpu, EMULTYPE_TRAP_UD); >>> + if (er == EMULATE_USER_EXIT) >>> + return 0; >>> + if (er != EMULATE_DONE) >>> + kvm_queue_exception(vcpu, UD_VECTOR); >>> + return 1; >> I would now actually prefer >> >> if (er == EMULATE_DONE) >> return 1 ... > > Why? The return statement would be duplicated. > > Paolo > I was talking about two equality checks vs. 1 equality and 1 inequality check. er = emulate_instruction(vcpu, EMULTYPE_TRAP_UD); if (er == EMULATE_USER_EXIT) return 0; else if (er == EMULATE_DONE) return 1; return kvm_queue_exception(vcpu, UD_VECTOR); -- Thanks, David / dhildenb