[xen staging] x86emul: VMOVNTDQA should raise #GP(0) on mis-alignment

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen staging] x86emul: VMOVNTDQA should raise #GP(0) on mis-alignment

patchbot
commit 2bc87d85c0a1b1fc13ede98ebe059e5a6e84d535
Author:     Jan Beulich <[hidden email]>
AuthorDate: Mon Apr 30 18:02:47 2018 +0200
Commit:     Jan Beulich <[hidden email]>
CommitDate: Mon Apr 30 18:02:47 2018 +0200

    x86emul: VMOVNTDQA should raise #GP(0) on mis-alignment
   
    Commit 50b73118d5 introduced emulation of the insn without extending the
    set of opcodes requiring special alignment related #GP behavior.
   
    Signed-off-by: Jan Beulich <[hidden email]>
    Acked-by: Andrew Cooper <[hidden email]>
    Release-acked-by: Juergen Gross <[hidden email]>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 8ffda8384a..e372c4bb03 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -8519,11 +8519,12 @@ x86_emulate(
 
             if ( op_bytes < 16 ||
                  (vex.opcx
-                  ? /* vmov{{a,nt}p{s,d},dqa,ntdq} are exceptions. */
-                    ext != ext_0f ||
-                    ((b | 1) != 0x29 && b != 0x2b &&
-                     ((b | 0x10) != 0x7f || vex.pfx != vex_66) &&
-                     b != 0xe7)
+                  ? /* vmov{{a,nt}p{s,d},{,nt}dqa,ntdq} are exceptions. */
+                    ext == ext_0f
+                    ? ((b | 1) != 0x29 && b != 0x2b &&
+                       ((b | 0x10) != 0x7f || vex.pfx != vex_66) &&
+                       b != 0xe7)
+                    : (ext != ext_0f38 || b != 0x2a)
                   : /* movup{s,d}, {,mask}movdqu, and lddqu are exceptions. */
                     ext == ext_0f &&
                     ((b | 1) == 0x11 ||
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog