Documentation/trace/fprobe.rst | 173 ++++++++++++++ Documentation/trace/index.rst | 1 + arch/arm/Kconfig | 1 + arch/arm/include/asm/stacktrace.h | 4 +- arch/arm/kernel/stacktrace.c | 6 + arch/arm/probes/Makefile | 1 + arch/arm/probes/rethook.c | 103 ++++++++ arch/arm64/Kconfig | 1 + arch/arm64/include/asm/stacktrace.h | 2 +- arch/arm64/kernel/probes/Makefile | 1 + arch/arm64/kernel/probes/rethook.c | 25 ++ arch/arm64/kernel/probes/rethook_trampoline.S | 87 +++++++ arch/arm64/kernel/stacktrace.c | 7 +- arch/powerpc/Kconfig | 1 + arch/powerpc/kernel/Makefile | 1 + arch/powerpc/kernel/rethook.c | 72 ++++++ arch/x86/Kconfig | 1 + arch/x86/include/asm/unwind.h | 8 +- arch/x86/kernel/Makefile | 1 + arch/x86/kernel/kprobes/common.h | 1 + arch/x86/kernel/rethook.c | 119 +++++++++ include/linux/fprobe.h | 105 ++++++++ include/linux/ftrace.h | 3 + include/linux/kprobes.h | 3 + include/linux/rethook.h | 99 ++++++++ include/linux/sched.h | 3 + kernel/exit.c | 2 + kernel/fork.c | 3 + kernel/trace/Kconfig | 26 ++ kernel/trace/Makefile | 2 + kernel/trace/fprobe.c | 332 ++++++++++++++++++++++++++ kernel/trace/ftrace.c | 58 ++++- kernel/trace/rethook.c | 317 ++++++++++++++++++++++++ kernel/trace/trace_events_user.c | 39 ++- lib/Kconfig.debug | 12 + lib/Makefile | 2 + lib/test_fprobe.c | 174 ++++++++++++++ samples/Kconfig | 7 + samples/Makefile | 1 + samples/fprobe/Makefile | 3 + samples/fprobe/fprobe_example.c | 120 ++++++++++ 41 files changed, 1911 insertions(+), 16 deletions(-) create mode 100644 Documentation/trace/fprobe.rst create mode 100644 arch/arm/probes/rethook.c create mode 100644 arch/arm64/kernel/probes/rethook.c create mode 100644 arch/arm64/kernel/probes/rethook_trampoline.S create mode 100644 arch/powerpc/kernel/rethook.c create mode 100644 arch/x86/kernel/rethook.c create mode 100644 include/linux/fprobe.h create mode 100644 include/linux/rethook.h create mode 100644 kernel/trace/fprobe.c create mode 100644 kernel/trace/rethook.c create mode 100644 lib/test_fprobe.c create mode 100644 samples/fprobe/Makefile create mode 100644 samples/fprobe/fprobe_example.c