Documentation/trace/fprobe.rst | 42 +- arch/arm64/Kconfig | 2 + arch/arm64/include/asm/Kbuild | 1 + arch/arm64/include/asm/ftrace.h | 51 +- arch/arm64/kernel/asm-offsets.c | 12 - arch/arm64/kernel/entry-ftrace.S | 32 +- arch/arm64/kernel/ftrace.c | 78 ++- arch/loongarch/Kconfig | 4 +- arch/loongarch/include/asm/fprobe.h | 12 + arch/loongarch/include/asm/ftrace.h | 32 +- arch/loongarch/kernel/asm-offsets.c | 12 - arch/loongarch/kernel/ftrace_dyn.c | 10 +- arch/loongarch/kernel/mcount.S | 17 +- arch/loongarch/kernel/mcount_dyn.S | 14 +- arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/ftrace.h | 13 + arch/powerpc/kernel/trace/ftrace.c | 2 +- arch/powerpc/kernel/trace/ftrace_64_pg.c | 10 +- arch/riscv/Kconfig | 3 +- arch/riscv/include/asm/Kbuild | 1 + arch/riscv/include/asm/ftrace.h | 45 +- arch/riscv/kernel/ftrace.c | 17 +- arch/riscv/kernel/mcount.S | 24 +- arch/s390/Kconfig | 4 +- arch/s390/include/asm/fprobe.h | 10 + arch/s390/include/asm/ftrace.h | 37 +- arch/s390/kernel/asm-offsets.c | 6 - arch/s390/kernel/entry.h | 1 - arch/s390/kernel/ftrace.c | 48 +- arch/s390/kernel/mcount.S | 23 +- arch/x86/Kconfig | 4 +- arch/x86/include/asm/Kbuild | 1 + arch/x86/include/asm/ftrace.h | 54 +- arch/x86/kernel/ftrace.c | 42 +- arch/x86/kernel/ftrace_32.S | 13 +- arch/x86/kernel/ftrace_64.S | 17 +- include/asm-generic/fprobe.h | 46 ++ include/linux/fprobe.h | 62 +- include/linux/ftrace.h | 116 +++- include/linux/ftrace_regs.h | 2 + kernel/trace/Kconfig | 22 +- kernel/trace/bpf_trace.c | 19 +- kernel/trace/fgraph.c | 57 +- kernel/trace/fprobe.c | 664 +++++++++++++++------ kernel/trace/ftrace.c | 6 +- kernel/trace/trace.h | 6 +- kernel/trace/trace_fprobe.c | 146 ++--- kernel/trace/trace_functions_graph.c | 10 +- kernel/trace/trace_irqsoff.c | 6 +- kernel/trace/trace_probe_tmpl.h | 2 +- kernel/trace/trace_sched_wakeup.c | 6 +- kernel/trace/trace_selftest.c | 11 +- lib/test_fprobe.c | 51 +- samples/fprobe/fprobe_example.c | 4 +- .../test.d/dynevent/add_remove_fprobe_repeat.tc | 19 + .../ftrace/test.d/dynevent/fprobe_syntax_errors.tc | 4 +- 56 files changed, 1303 insertions(+), 651 deletions(-) create mode 100644 arch/loongarch/include/asm/fprobe.h create mode 100644 arch/s390/include/asm/fprobe.h create mode 100644 include/asm-generic/fprobe.h create mode 100644 tools/testing/selftests/ftrace/test.d/dynevent/add_remove_fprobe_repeat.tc