]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
perf sched: Avoid crash for unexpected perf sched stats report
authorNamhyung Kim <namhyung@kernel.org>
Mon, 6 Apr 2026 05:18:16 +0000 (22:18 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Mon, 6 Apr 2026 05:21:42 +0000 (22:21 -0700)
Doing a `perf sched record` then `perf sched stats report` crashes as
the tp_handler isn't set.  Add a dummy tp_handler for it rather than
adding an extra check.

Reported-by: Ian Rogers <irogers@google.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-sched.c

index d083e2bb770303a49e4ae0ceb648d9051fe6d027..9fb5447f9014d0264f3de0047ad299ff1a67f12f 100644 (file)
@@ -4955,6 +4955,7 @@ int cmd_sched(int argc, const char **argv)
                .switch_event       = replay_switch_event,
                .fork_event         = replay_fork_event,
        };
+       struct trace_sched_handler stats_ops  = {};
        int ret;
 
        perf_tool__init(&sched.tool, /*ordered_events=*/true);
@@ -5037,6 +5038,7 @@ int cmd_sched(int argc, const char **argv)
        } else if (!strcmp(argv[0], "stats")) {
                const char *const stats_subcommands[] = {"record", "report", NULL};
 
+               sched.tp_handler = &stats_ops;
                argc = parse_options_subcommand(argc, argv, stats_options,
                                                stats_subcommands,
                                                stats_usage,