]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/ftrace: Reset triggers at top level before instance loop
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Fri, 17 Jul 2026 02:51:59 +0000 (11:51 +0900)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 24 Jul 2026 17:43:18 +0000 (13:43 -0400)
When running instance tests, 'ftracetest' creates a new ftrace instance
and runs the tests inside it. Before starting each test, it executes
'initialize_system()' to reset the ftrace state to initial-state.

However, since 'initialize_system()' is executed in the context of the
instance directory, it only cleans up triggers and filters of that
instance.
Any triggers or dynamic events left behind in the top-level instance by
previous failed top-level tests, are left completely untouched. These
top-level leftovers can cause subsequent instance-based tests to fail
or even crash the kernel.

Fix this by executing 'initialize_system()' in the top-level tracing
directory once before entering the instance loop.

Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/178425671889.84440.9477850701738666404.stgit@devnote2
Fixes: b5b77be812de ("selftests: ftrace: Allow some tests to be run in a tracing instance")
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
tools/testing/selftests/ftrace/ftracetest

index 0a56bf209f6c0986a4ea3a9674cc905baf476467..8ad2c385407ecacb3ab0945d248fc47b96d838d0 100755 (executable)
@@ -503,6 +503,7 @@ for t in $TEST_CASES; do
 done
 
 # Test on instance loop
+(cd $TRACING_DIR; initialize_system)
 INSTANCE=" (instance) "
 for t in $TEST_CASES; do
   test_on_instance $t || continue