forked from Minki/linux
KVM: x86: Mark VEX-prefix instructions emulation as unimplemented
Currently the emulator does not recognize vex-prefix instructions. However, it may incorrectly decode lgdt/lidt instructions and try to execute them. This patch returns unhandlable error on their emulation. Signed-off-by: Nadav Amit <namit@cs.technion.ac.il> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
7171511eae
commit
7fe864dc94
@ -4314,6 +4314,13 @@ done_prefixes:
|
||||
if (ctxt->d & ModRM)
|
||||
ctxt->modrm = insn_fetch(u8, ctxt);
|
||||
|
||||
/* vex-prefix instructions are not implemented */
|
||||
if (ctxt->opcode_len == 1 && (ctxt->b == 0xc5 || ctxt->b == 0xc4) &&
|
||||
(mode == X86EMUL_MODE_PROT64 ||
|
||||
(mode >= X86EMUL_MODE_PROT16 && (ctxt->modrm & 0x80)))) {
|
||||
ctxt->d = NotImpl;
|
||||
}
|
||||
|
||||
while (ctxt->d & GroupMask) {
|
||||
switch (ctxt->d & GroupMask) {
|
||||
case Group:
|
||||
|
Loading…
Reference in New Issue
Block a user