diff options
author | Borislav Petkov <bp@suse.de> | 2020-11-20 15:01:20 +0100 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2021-03-15 12:09:09 +0100 |
commit | 0c925c61dae18ee3cb93a61cc9dd9562a066034d (patch) | |
tree | e49b2cbb70cda53ec7ad88cc1852f090498f951b /arch/x86/tools | |
parent | 88afc23922137cd3efdb0f0b6722785c9f6a35eb (diff) |
x86/tools/insn_decoder_test: Convert to insn_decode()
Simplify code, no functional changes.
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210304174237.31945-17-bp@alien8.de
Diffstat (limited to 'arch/x86/tools')
-rw-r--r-- | arch/x86/tools/insn_decoder_test.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/tools/insn_decoder_test.c b/arch/x86/tools/insn_decoder_test.c index 34eda63c124b..472540aeabc2 100644 --- a/arch/x86/tools/insn_decoder_test.c +++ b/arch/x86/tools/insn_decoder_test.c @@ -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); |