Merge tag 'for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux...
[linux-2.6-microblaze.git] / arch / x86 / tools / insn_decoder_test.c
index 34eda63..472540a 100644 (file)
@@ -120,7 +120,7 @@ int main(int argc, char **argv)
 
        while (fgets(line, BUFSIZE, stdin)) {
                char copy[BUFSIZE], *s, *tab1, *tab2;
-               int nb = 0;
+               int nb = 0, ret;
                unsigned int b;
 
                if (line[0] == '<') {
@@ -148,10 +148,12 @@ int main(int argc, char **argv)
                        } else
                                break;
                }
+
                /* Decode an instruction */
-               insn_init(&insn, insn_buff, sizeof(insn_buff), x86_64);
-               insn_get_length(&insn);
-               if (insn.length != nb) {
+               ret = insn_decode(&insn, insn_buff, sizeof(insn_buff),
+                                 x86_64 ? INSN_MODE_64 : INSN_MODE_32);
+
+               if (ret < 0 || insn.length != nb) {
                        warnings++;
                        pr_warn("Found an x86 instruction decoder bug, "
                                "please report this.\n", sym);