fix source operand decoding for 8bit mov[zs]x instructions
Subsystems (4)
PATCH 1/1 fix source operand decoding for 8bit mov[zs]x instructions
Source operand for one byte mov[zs]x is decoded incorrectly if it is in high byte register. Fix that.
Signed-off-by Gleb Natapov <[email protected]>
arch/x86/kvm/emulate.c +4 -0
@@ -4172,6 +4172,10 @@ static int decode_operand(struct x86_emulate_ctxt *ctxt, struct operand *op,break ;case OpMem8: ctxt->memop.bytes =1 ; +if (ctxt->memop.type ==OP_REG ) { + ctxt->memop.addr.reg =decode_register (ctxt, ctxt->modrm_rm,1 ); +fetch_register_operand (&ctxt->memop); + } goto mem_common;case OpMem16: ctxt->memop.bytes =2 ;
--
Gleb.