diff options
author | Avi Kivity <avi@qumranet.com> | 2007-07-22 08:51:58 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-10-13 04:18:19 -0400 |
commit | 394b6e5944865a558fe25f0c5903b34c434038ee (patch) | |
tree | 506650eb8e2b4c4e1f553bcc0cc568a65f99c357 /drivers/kvm | |
parent | e3243452f4f35ed5f79d575100521bf257504b81 (diff) |
KVM: x86 emulator: fix faulty check for two-byte opcode
Right now, the bug is harmless as we never emulate one-byte 0xb6 or 0xb7.
But things may change.
Noted by the mysterious Gabriel C.
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm')
-rw-r--r-- | drivers/kvm/x86_emulate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c index 82b4ea62c982..ef7518a2d7ac 100644 --- a/drivers/kvm/x86_emulate.c +++ b/drivers/kvm/x86_emulate.c | |||
@@ -819,7 +819,7 @@ done_prefixes: | |||
819 | case DstReg: | 819 | case DstReg: |
820 | dst.type = OP_REG; | 820 | dst.type = OP_REG; |
821 | if ((d & ByteOp) | 821 | if ((d & ByteOp) |
822 | && !(twobyte_table && (b == 0xb6 || b == 0xb7))) { | 822 | && !(twobyte && (b == 0xb6 || b == 0xb7))) { |
823 | dst.ptr = decode_register(modrm_reg, _regs, | 823 | dst.ptr = decode_register(modrm_reg, _regs, |
824 | (rex_prefix == 0)); | 824 | (rex_prefix == 0)); |
825 | dst.val = *(u8 *) dst.ptr; | 825 | dst.val = *(u8 *) dst.ptr; |