diff options
| author | 2012-03-19 17:02:01 -0700 | |
|---|---|---|
| committer | 2012-03-19 17:02:01 -0700 | |
| commit | 10ce3cc919f50c2043b41ca968b43c26a3672600 (patch) | |
| tree | ea409366a5208aced495bc0516a08b81fd43222e /arch/x86/lib/insn.c | |
| parent | Input: wacom - fix physical size calculation for 3rd-gen Bamboo (diff) | |
| parent | Input: ili210x - add support for Ilitek ILI210x based touchscreens (diff) | |
| download | wireguard-linux-10ce3cc919f50c2043b41ca968b43c26a3672600.tar.xz wireguard-linux-10ce3cc919f50c2043b41ca968b43c26a3672600.zip | |
Merge branch 'next' into for-linus
Diffstat (limited to '')
| -rw-r--r-- | arch/x86/lib/insn.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/lib/insn.c b/arch/x86/lib/insn.c index 374562ed6704..5a1f9f3e3fbb 100644 --- a/arch/x86/lib/insn.c +++ b/arch/x86/lib/insn.c @@ -202,7 +202,7 @@ void insn_get_opcode(struct insn *insn) m = insn_vex_m_bits(insn); p = insn_vex_p_bits(insn); insn->attr = inat_get_avx_attribute(op, m, p); - if (!inat_accept_vex(insn->attr)) + if (!inat_accept_vex(insn->attr) && !inat_is_group(insn->attr)) insn->attr = 0; /* This instruction is bad */ goto end; /* VEX has only 1 byte for opcode */ } @@ -249,6 +249,8 @@ void insn_get_modrm(struct insn *insn) pfx = insn_last_prefix(insn); insn->attr = inat_get_group_attribute(mod, pfx, insn->attr); + if (insn_is_avx(insn) && !inat_accept_vex(insn->attr)) + insn->attr = 0; /* This is bad */ } } |
