KVM: x86: Avoid emulating instructions on #UD mistakenly
authorNadav Amit <namit@cs.technion.ac.il>
Wed, 13 Aug 2014 13:50:13 +0000 (16:50 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 19 Aug 2014 13:12:28 +0000 (15:12 +0200)
commit3a6095a0173ad8f20c508446880558c9f9224324
tree4725c419f4a5cfe54f20e9f0d80ea3efa6476c34
parentc04fa5831d4d89dfbc88406f4a46f9846841a560
KVM: x86: Avoid emulating instructions on #UD mistakenly

Commit d40a6898e5 mistakenly caused instructions which are not marked as
EmulateOnUD to be emulated upon #UD exception. The commit caused the check of
whether the instruction flags include EmulateOnUD to never be evaluated. As a
result instructions whose emulation is broken may be emulated.  This fix moves
the evaluation of EmulateOnUD so it would be evaluated.

Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
[Tweak operand order in &&, remove EmulateOnUD where it's now superfluous.
 - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c