aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/emulate.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r--arch/x86/kvm/emulate.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 56657b0bb3bb..ef117b842334 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -4394,8 +4394,11 @@ done_prefixes:
4394 4394
4395 ctxt->execute = opcode.u.execute; 4395 ctxt->execute = opcode.u.execute;
4396 4396
4397 if (unlikely(ctxt->ud) && likely(!(ctxt->d & EmulateOnUD)))
4398 return EMULATION_FAILED;
4399
4397 if (unlikely(ctxt->d & 4400 if (unlikely(ctxt->d &
4398 (NotImpl|EmulateOnUD|Stack|Op3264|Sse|Mmx|Intercept|CheckPerm))) { 4401 (NotImpl|Stack|Op3264|Sse|Mmx|Intercept|CheckPerm))) {
4399 /* 4402 /*
4400 * These are copied unconditionally here, and checked unconditionally 4403 * These are copied unconditionally here, and checked unconditionally
4401 * in x86_emulate_insn. 4404 * in x86_emulate_insn.
@@ -4406,9 +4409,6 @@ done_prefixes:
4406 if (ctxt->d & NotImpl) 4409 if (ctxt->d & NotImpl)
4407 return EMULATION_FAILED; 4410 return EMULATION_FAILED;
4408 4411
4409 if (!(ctxt->d & EmulateOnUD) && ctxt->ud)
4410 return EMULATION_FAILED;
4411
4412 if (mode == X86EMUL_MODE_PROT64 && (ctxt->d & Stack)) 4412 if (mode == X86EMUL_MODE_PROT64 && (ctxt->d & Stack))
4413 ctxt->op_bytes = 8; 4413 ctxt->op_bytes = 8;
4414 4414