From: Jan Beulich Date: Mon, 16 Dec 2024 12:34:19 +0000 (+0100) Subject: x86emul: MOVBE requires a memory operand X-Git-Tag: RELEASE-4.18.4~8 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=37b069fc3bb97cfcf5ae769a163bd02e460d9675;p=xen.git x86emul: MOVBE requires a memory operand The reg-reg forms should cause #UD; they come into existence only with APX, where MOVBE also extends BSWAP (for the latter not being "eligible" to a REX2 prefix). Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper master commit: 4c5d9a01f8fa81417a9c431e9624fb71361ec4f9 master date: 2024-12-02 09:50:14 +0100 --- diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 0245d23ca7..2c6bc8df2c 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -6912,6 +6912,7 @@ x86_emulate( case X86EMUL_OPC(0x0f38, 0xf0): /* movbe m,r */ case X86EMUL_OPC(0x0f38, 0xf1): /* movbe r,m */ + generate_exception_if(ea.type != OP_MEM, X86_EXC_UD); vcpu_must_have(movbe); switch ( op_bytes ) {