Inter-revision diff: cover letter

Comparing v5 (message) to v2 (message)

--- v5
+++ v2
@@ -1,57 +1,74 @@
-Hi,
+Hi Josef and Alexei,
 
-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 are the 2nd version of patches to moving error injection
+table from kprobes. In this series I did a small fixes and
+add function-based fault injection.
 
 Here is the previous version:
 
-https://patchwork.ozlabs.org/cover/858663/
+https://lkml.org/lkml/2017/12/22/554
 
-Changes in v5:
- - [3/5] Fix a bug that within_error_injection returns false always.
- - [5/5] Update to support multiple function error injection.
+There are 2 main reasons why I separate it from kprobes.
+
+ - kprobes users can modify execution path not only at 
+   error-injection whitelist functions but also other
+   functions. I don't like to suggest user that such
+   limitation is from kprobes itself.
+
+ - This error injection information is also useful for
+   ftrace (function-hook) and livepatch. It should not
+   be limited by CONFIG_KPROBES.
+
+So I introduced CONFIG_FUNCTION_ERROR_INJECTION for this feature.
+Also CONFIG_FAIL_FUNCTION is added, which provides function-based
+error injection interface via debugfs following fault-injection
+framework. See [4/4].
+
+Any thoughts?
+
+BTW, I think we should add an error-range description in
+ALLOW_ERROR_INJECTION() macro. If user sets a success
+return value and override it by mistake, caller must
+break data or cause kernel panic.
 
 Thank you,
 
 ---
 
-Masami Hiramatsu (5):
+Masami Hiramatsu (4):
       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 ++++
+ Documentation/fault-injection/fault-injection.txt |    5 +
  arch/Kconfig                                      |    2 
  arch/x86/Kconfig                                  |    2 
- arch/x86/include/asm/error-injection.h            |   13 +
- arch/x86/include/asm/kprobes.h                    |    4 
+ arch/x86/include/asm/error-injection.h            |   12 +
  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 ++
+ arch/x86/lib/Makefile                             |    2 
+ arch/x86/lib/error-inject.c                       |   19 ++
+ fs/btrfs/disk-io.c                                |    2 
+ fs/btrfs/free-space-cache.c                       |    2 
+ include/asm-generic/error-injection.h             |   20 ++
+ include/asm-generic/vmlinux.lds.h                 |   14 +
+ include/linux/bpf.h                               |   12 -
+ include/linux/error-injection.h                   |   21 ++
  include/linux/kprobes.h                           |    1 
- include/linux/module.h                            |    7 
+ include/linux/module.h                            |    6 -
  kernel/Makefile                                   |    1 
- kernel/fail_function.c                            |  349 +++++++++++++++++++++
- kernel/kprobes.c                                  |  163 ----------
- kernel/module.c                                   |    8 
+ kernel/fail_function.c                            |  169 ++++++++++++++++++
+ 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 -
+ kernel/trace/bpf_trace.c                          |    9 -
+ kernel/trace/trace_kprobe.c                       |   32 +--
+ 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(-)
+ lib/error-inject.c                                |  198 +++++++++++++++++++++
+ 26 files changed, 506 insertions(+), 239 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help