x86emul: shifts/rotates don't allow LOCK prefix
authorJan Beulich <jbeulich@suse.com>
Fri, 7 Jul 2017 14:43:35 +0000 (16:43 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 7 Jul 2017 14:43:35 +0000 (16:43 +0200)
... just like e.g. SHLD/SHRD don't (see commit dee231b5a8 [x86emul:
improve LOCK handling]).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/x86_emulate/x86_emulate.c

index 87e84c67179182d2fe2fc2ee4a971a3517d1b3c3..6819ab35195cf4ef3d1fb60394462aa2bd71319c 100644 (file)
@@ -3853,6 +3853,7 @@ x86_emulate(
         break;
 
     case 0xc0 ... 0xc1: grp2: /* Grp2 */
+        generate_exception_if(lock_prefix, EXC_UD);
         switch ( modrm_reg & 7 )
         {
         case 0: /* rol */