diff options
| author | Ian Rogers <irogers@google.com> | 2025-11-22 11:19:17 +0300 |
|---|---|---|
| committer | Namhyung Kim <namhyung@kernel.org> | 2025-12-03 22:07:23 +0300 |
| commit | dc4d16543e60c22cd342135f321e99f2ecad3d54 (patch) | |
| tree | 125a198d35690f13df871205f9aa1c93c7345296 /tools/perf/util | |
| parent | b4e44399eb2ebe21d3b00ae14e8ebaab1a3aa094 (diff) | |
| download | linux-dc4d16543e60c22cd342135f321e99f2ecad3d54.tar.xz | |
perf probe-event: Ensure probe event nsinfo is always cleared
Move nsinfo__zput from cleanup_perf_probe_events to
clear_perf_probe_event so it is always executed. Clean up
clear_perf_probe_events to not call nsinfo__zput and use the pev
variable to avoid repeated array accesses.
Signed-off-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'tools/perf/util')
| -rw-r--r-- | tools/perf/util/probe-event.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 6ab2eb551b6c..710e4620923e 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -2419,6 +2419,7 @@ void clear_perf_probe_event(struct perf_probe_event *pev) } pev->nargs = 0; zfree(&pev->args); + nsinfo__zput(pev->nsi); } #define strdup_or_goto(str, label) \ @@ -3767,12 +3768,11 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs) /* Loop 3: cleanup and free trace events */ for (i = 0; i < npevs; i++) { pev = &pevs[i]; - for (j = 0; j < pevs[i].ntevs; j++) - clear_probe_trace_event(&pevs[i].tevs[j]); - zfree(&pevs[i].tevs); - pevs[i].ntevs = 0; - nsinfo__zput(pev->nsi); - clear_perf_probe_event(&pevs[i]); + for (j = 0; j < pev->ntevs; j++) + clear_probe_trace_event(&pev->tevs[j]); + zfree(&pev->tevs); + pev->ntevs = 0; + clear_perf_probe_event(pev); } } |
