summaryrefslogtreecommitdiff
path: root/arch/x86/lib/insn-eval.c
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2020-11-03 19:28:30 +0300
committerBorislav Petkov <bp@suse.de>2021-03-15 13:05:47 +0300
commit93281c4a96572a34504244969b938e035204778d (patch)
tree9557117b6c67303c51f9a9d07a14d26976ee1b25 /arch/x86/lib/insn-eval.c
parentd30c7b820be5c4777fe6c3b0c21f9d0064251e51 (diff)
downloadlinux-93281c4a96572a34504244969b938e035204778d.tar.xz
x86/insn: Add an insn_decode() API
Users of the instruction decoder should use this to decode instruction bytes. For that, have insn*() helpers return an int value to denote success/failure. When there's an error fetching the next insn byte and the insn falls short, return -ENODATA to denote that. While at it, make insn_get_opcode() more stricter as to whether what has seen so far is a valid insn and if not. Copy linux/kconfig.h for the tools-version of the decoder so that it can use IS_ENABLED(). Also, cast the INSN_MODE_KERN dummy define value to (enum insn_mode) for tools use of the decoder because perf tool builds with -Werror and errors out with -Werror=sign-compare otherwise. Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Link: https://lkml.kernel.org/r/20210304174237.31945-5-bp@alien8.de
Diffstat (limited to 'arch/x86/lib/insn-eval.c')
0 files changed, 0 insertions, 0 deletions