mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 22:02:28 +00:00
540adea380
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>
20 lines
425 B
C
20 lines
425 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include <linux/error-injection.h>
|
|
#include <linux/kprobes.h>
|
|
|
|
asmlinkage void just_return_func(void);
|
|
|
|
asm(
|
|
".type just_return_func, @function\n"
|
|
"just_return_func:\n"
|
|
" ret\n"
|
|
".size just_return_func, .-just_return_func\n"
|
|
);
|
|
|
|
void override_function_with_return(struct pt_regs *regs)
|
|
{
|
|
regs->ip = (unsigned long)&just_return_func;
|
|
}
|
|
NOKPROBE_SYMBOL(override_function_with_return);
|