linux-uconsole/tools/include/linux
Borislav Petkov 6bc6875b82 x86/insn: Add an insn_decode() API
commit 93281c4a96 upstream.

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
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-07-25 11:26:11 +02:00
..
sched
unaligned
atomic.h
bitmap.h tools bitmap: Implement bitmap_equal() operation at bitmap API 2020-01-06 11:46:04 -03:00
bitops.h bitops: more BITS_TO_* macros 2020-02-04 03:05:26 +00:00
bits.h linux/bits.h: fix compilation error with GENMASK 2021-06-03 09:00:45 +02:00
btf_ids.h btf: Add BTF_ID_LIST_SINGLE macro 2020-09-21 15:00:40 -07:00
bug.h
build_bug.h tools headers: Synchronize linux/bits.h with the kernel sources 2020-04-14 11:40:05 -03:00
compiler-gcc.h perf tools: Remove broken __no_tail_call attribute 2020-11-03 08:32:15 -03:00
compiler.h perf tools: Remove broken __no_tail_call attribute 2020-11-03 08:32:15 -03:00
const.h linux/bits.h: fix compilation error with GENMASK 2021-06-03 09:00:45 +02:00
coresight-pmu.h
ctype.h
debug_locks.h
delay.h
err.h
export.h
filter.h
ftrace.h
gfp.h
hardirq.h
hash.h
hashtable.h
interrupt.h
irqflags.h lockdep: Remove lockdep_hardirq{s_enabled,_context}() argument 2020-07-10 12:00:02 +02:00
jhash.h tools/: replace HTTP links with HTTPS ones 2020-08-07 11:33:21 -07:00
kallsyms.h kallsyms/printk: add loglvl to print_ip_sym() 2020-06-09 09:39:10 -07:00
kconfig.h x86/insn: Add an insn_decode() API 2022-07-25 11:26:11 +02:00
kern_levels.h
kernel.h tools headers: Synchronize linux/bits.h with the kernel sources 2020-04-14 11:40:05 -03:00
linkage.h
list.h
lockdep.h
log2.h
module.h
mutex.h
nmi.h
numa.h
objtool.h objtool: Combine UNWIND_HINT_RET_OFFSET and UNWIND_HINT_FUNC 2022-07-25 11:26:07 +02:00
overflow.h
poison.h
proc_fs.h
rbtree.h docs: Add rbtree documentation to the core-api 2020-04-21 10:29:19 -06:00
rbtree_augmented.h docs: Add rbtree documentation to the core-api 2020-04-21 10:29:19 -06:00
rcu.h
refcount.h
ring_buffer.h tools headers: Add missing perf_event.h include 2019-08-22 11:12:36 -03:00
seq_file.h
sizes.h
spinlock.h
stacktrace.h
static_call_types.h static_call: Allow module use without exposing static_call_key 2021-03-30 14:31:53 +02:00
string.h tools lib: Adopt memchr_inv() from kernel 2021-09-26 14:08:57 +02:00
stringify.h
time64.h
types.h
zalloc.h