diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 6990d3a9e6..ab32049ec9 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -843,6 +843,11 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) UNLOCK_BIGLOCK(v->domain); break; + default: + goto fail; + } + break; + case 0x23: /* MOV ,DR? */ opcode = insn_fetch(u8, 1, eip); modrm_reg |= (opcode >> 3) & 7; @@ -852,11 +857,6 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) goto fail; break; - default: - goto fail; - } - break; - case 0x30: /* WRMSR */ /* Ignore the instruction if unprivileged. */ if ( !IS_PRIV(v->domain) )