[PATCH v3 0/2] tracing/boot: Support eprobe, fprobe, and tprobe events and add test framework
From: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Date: 2026-08-07 21:44:06
Also in:
linux-doc, linux-kselftest, lkml
Hi, This is the 3rd version of series to extend kernel boot-time tracing to support newly added dynamic event types (eprobes, fprobes, and tracepoint probes) and introduces an automated QEMU-based test suite under tools/testing/selftests/ftrace/boottime/. The previous version is here: https://lore.kernel.org/all/178602969872.141946.3932041319962687996.stgit@devnote2/ (local) Changes in v3: - tracing/boot: Check return values of strscpy() and snprintf() in trace_boot_add_probe_event() to prevent silent buffer truncation. - selftests/ftrace: Remove boottime/run_boottime_test.sh from TEST_PROGS_EXTENDED in Makefile to prevent lib.mk from flattening it into top-level ftrace/ on make install. - selftests/ftrace: Support executing run_boottime_test.sh both in-tree and in installed kselftest environment. - selftests/ftrace: Add HUP, INT, and TERM signal handlers to tempdir cleanup trap. - selftests/ftrace: Validate workdir creation and update run_single_test() to return 0 on test failure so set -e is not suspended by invocation in an AND-OR list. Changes in v2: - Fix raw command detection logic for eprobes, fprobes, and tprobes by requiring ':' or isspace() after type prefix. - Consolidate duplicate loop logic into trace_boot_add_probe_event() helper function. - Copy shared library dependencies using ldd if busybox is dynamically linked. - Wrap QEMU execution with timeout command and add -T/--timeout CLI option. - Add pre-flight checks for busybox architecture compatibility and cpio tool in run_boottime_test.sh. - Fix POSIX syntax compatibility and allow bypassing HOST_ARCH skip when custom kernel/QEMU parameters are passed. - Add boottime/run_boottime_test.sh to TEST_PROGS_EXTENDED in selftests/ftrace/Makefile. Thanks, --- base-commit: 54f133c6178d06b169dceae18cc92c4945933b8c Masami Hiramatsu (Google) (2): tracing/boot: Add support for eprobe, fprobe, and tprobe events selftests/ftrace: Add boot-time tracing test framework Documentation/trace/boottime-trace.rst | 18 + kernel/trace/trace_boot.c | 97 +++++++ kernel/trace/trace_dynevent.c | 5 tools/testing/selftests/ftrace/Makefile | 2 tools/testing/selftests/ftrace/boottime/Makefile | 10 + tools/testing/selftests/ftrace/boottime/README | 58 ++++ .../ftrace/boottime/bootconfigs/01-kprobe.bconf | 5 .../ftrace/boottime/bootconfigs/02-synth.bconf | 4 .../ftrace/boottime/bootconfigs/03-eprobe.bconf | 4 .../ftrace/boottime/bootconfigs/04-fprobe.bconf | 4 .../ftrace/boottime/bootconfigs/05-tprobe.bconf | 4 .../ftrace/boottime/bootconfigs/06-instance.bconf | 5 .../selftests/ftrace/boottime/run_boottime_test.sh | 271 ++++++++++++++++++++ .../selftests/ftrace/boottime/tests/01-kprobe.sh | 18 + .../selftests/ftrace/boottime/tests/02-synth.sh | 18 + .../selftests/ftrace/boottime/tests/03-eprobe.sh | 18 + .../selftests/ftrace/boottime/tests/04-fprobe.sh | 18 + .../selftests/ftrace/boottime/tests/05-tprobe.sh | 18 + .../selftests/ftrace/boottime/tests/06-instance.sh | 23 ++ tools/testing/selftests/ftrace/config | 4 20 files changed, 600 insertions(+), 4 deletions(-) create mode 100644 tools/testing/selftests/ftrace/boottime/Makefile create mode 100644 tools/testing/selftests/ftrace/boottime/README create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/01-kprobe.bconf create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/02-synth.bconf create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/03-eprobe.bconf create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/04-fprobe.bconf create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/05-tprobe.bconf create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/06-instance.bconf create mode 100755 tools/testing/selftests/ftrace/boottime/run_boottime_test.sh create mode 100755 tools/testing/selftests/ftrace/boottime/tests/01-kprobe.sh create mode 100755 tools/testing/selftests/ftrace/boottime/tests/02-synth.sh create mode 100755 tools/testing/selftests/ftrace/boottime/tests/03-eprobe.sh create mode 100755 tools/testing/selftests/ftrace/boottime/tests/04-fprobe.sh create mode 100755 tools/testing/selftests/ftrace/boottime/tests/05-tprobe.sh create mode 100755 tools/testing/selftests/ftrace/boottime/tests/06-instance.sh -- Masami Hiramatsu (Google) [off-list ref]