]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86emul: suppress general register update upon AVX gather failures
authorJan Beulich <jbeulich@suse.com>
Wed, 3 Apr 2019 08:14:32 +0000 (10:14 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 3 Apr 2019 08:14:32 +0000 (10:14 +0200)
While destination and mask registers may indeed need updating in this
case, the rIP update in particular needs to be avoided, as well as e.g.
raising a single step trap.

Reported-by: George Dunlap <george.dunlap@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/x86_emulate/x86_emulate.c

index ea02d100dd670102b0147edd2b327b2f87c24e93..0293a7229239fb753347095940719a6eda74b3c7 100644 (file)
@@ -8547,6 +8547,9 @@ x86_emulate(
         invoke_stub("", "", "+m" (mask) : "a" (&mask));
         put_stub(stub);
 
+        if ( rc != X86EMUL_OKAY )
+            goto done;
+
         state->simd_size = simd_none;
         break;
     }