Hi, Here are the 5th version of patches to moving error injection table from kprobes. This version fixes a bug and update fail-function to support multiple function error injection.
Here is the previous version: https://patchwork.ozlabs.org/cover/858663/ Changes in v5: - [3/5] Fix a bug that within_error_injection returns false always. - [5/5] Update to support multiple function error injection. Thank you, --- Masami Hiramatsu (5): tracing/kprobe: bpf: Check error injectable event is on function entry tracing/kprobe: bpf: Compare instruction pointer with original one error-injection: Separate error-injection from kprobe error-injection: Add injectable error types error-injection: Support fault injection framework Documentation/fault-injection/fault-injection.txt | 68 ++++ arch/Kconfig | 2 arch/x86/Kconfig | 2 arch/x86/include/asm/error-injection.h | 13 + arch/x86/include/asm/kprobes.h | 4 arch/x86/kernel/kprobes/ftrace.c | 14 - arch/x86/lib/Makefile | 1 arch/x86/lib/error-inject.c | 19 + fs/btrfs/disk-io.c | 4 fs/btrfs/free-space-cache.c | 4 include/asm-generic/error-injection.h | 35 ++ include/asm-generic/vmlinux.lds.h | 14 - include/linux/bpf.h | 11 - include/linux/error-injection.h | 27 ++ include/linux/kprobes.h | 1 include/linux/module.h | 7 kernel/Makefile | 1 kernel/fail_function.c | 349 +++++++++++++++++++++ kernel/kprobes.c | 163 ---------- kernel/module.c | 8 kernel/trace/Kconfig | 4 kernel/trace/bpf_trace.c | 11 - kernel/trace/trace_kprobe.c | 33 +- kernel/trace/trace_probe.h | 12 - lib/Kconfig.debug | 14 + lib/Makefile | 1 lib/error-inject.c | 242 +++++++++++++++ 27 files changed, 819 insertions(+), 245 deletions(-) create mode 100644 arch/x86/include/asm/error-injection.h create mode 100644 arch/x86/lib/error-inject.c create mode 100644 include/asm-generic/error-injection.h create mode 100644 include/linux/error-injection.h create mode 100644 kernel/fail_function.c create mode 100644 lib/error-inject.c -- Masami Hiramatsu (Linaro)