[PATCH v3 0/2] tracing/boot: Support eprobe, fprobe, and tprobe events and add test framework

From: Masami Hiramatsu (Google)

Date: Fri Aug 07 2026 - 17:45:44 EST


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/

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) <mhiramat@xxxxxxxxxx>