error-injection: Separate error-injection from kprobe
authorMasami Hiramatsu <mhiramat@kernel.org>
Fri, 12 Jan 2018 17:55:03 +0000 (02:55 +0900)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 13 Jan 2018 01:33:38 +0000 (17:33 -0800)
commit540adea3809f61115d2a1ea4ed6e627613452ba1
tree03ba07d13807d06d52053b2d02565075f210c2e2
parent66665ad2f1023d3ffb0c12eea9e0a6d0b613ecb3
error-injection: Separate error-injection from kprobe

Since error-injection framework is not limited to be used
by kprobes, nor bpf. Other kernel subsystems can use it
freely for checking safeness of error-injection, e.g.
livepatch, ftrace etc.
So this separate error-injection framework from kprobes.

Some differences has been made:

- "kprobe" word is removed from any APIs/structures.
- BPF_ALLOW_ERROR_INJECTION() is renamed to
  ALLOW_ERROR_INJECTION() since it is not limited for BPF too.
- CONFIG_FUNCTION_ERROR_INJECTION is the config item of this
  feature. It is automatically enabled if the arch supports
  error injection feature for kprobe or ftrace etc.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
22 files changed:
arch/Kconfig
arch/x86/Kconfig
arch/x86/include/asm/error-injection.h [new file with mode: 0644]
arch/x86/kernel/kprobes/core.c
arch/x86/lib/Makefile
arch/x86/lib/error-inject.c [new file with mode: 0644]
fs/btrfs/disk-io.c
fs/btrfs/free-space-cache.c
include/asm-generic/error-injection.h [new file with mode: 0644]
include/asm-generic/vmlinux.lds.h
include/linux/bpf.h
include/linux/error-injection.h [new file with mode: 0644]
include/linux/kprobes.h
include/linux/module.h
kernel/kprobes.c
kernel/module.c
kernel/trace/Kconfig
kernel/trace/bpf_trace.c
kernel/trace/trace_kprobe.c
lib/Kconfig.debug
lib/Makefile
lib/error-inject.c [new file with mode: 0644]