diff options
author | Masami Hiramatsu <mhiramat@kernel.org> | 2018-01-12 20:55:03 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-01-13 04:33:38 +0300 |
commit | 540adea3809f61115d2a1ea4ed6e627613452ba1 (patch) | |
tree | 03ba07d13807d06d52053b2d02565075f210c2e2 /include/linux/error-injection.h | |
parent | 66665ad2f1023d3ffb0c12eea9e0a6d0b613ecb3 (diff) | |
download | linux-540adea3809f61115d2a1ea4ed6e627613452ba1.tar.xz |
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>
Diffstat (limited to 'include/linux/error-injection.h')
-rw-r--r-- | include/linux/error-injection.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/error-injection.h b/include/linux/error-injection.h new file mode 100644 index 000000000000..130a67c50dac --- /dev/null +++ b/include/linux/error-injection.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_ERROR_INJECTION_H +#define _LINUX_ERROR_INJECTION_H + +#ifdef CONFIG_FUNCTION_ERROR_INJECTION + +#include <asm/error-injection.h> + +extern bool within_error_injection_list(unsigned long addr); + +#else /* !CONFIG_FUNCTION_ERROR_INJECTION */ + +#include <asm-generic/error-injection.h> +static inline bool within_error_injection_list(unsigned long addr) +{ + return false; +} + +#endif + +#endif /* _LINUX_ERROR_INJECTION_H */ |