Skip to content

Commit dc4d165

Browse files
captain5050namhyung
authored andcommitted
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>
1 parent b4e4439 commit dc4d165

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

tools/perf/util/probe-event.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2419,6 +2419,7 @@ void clear_perf_probe_event(struct perf_probe_event *pev)
24192419
}
24202420
pev->nargs = 0;
24212421
zfree(&pev->args);
2422+
nsinfo__zput(pev->nsi);
24222423
}
24232424

24242425
#define strdup_or_goto(str, label) \
@@ -3767,12 +3768,11 @@ void cleanup_perf_probe_events(struct perf_probe_event *pevs, int npevs)
37673768
/* Loop 3: cleanup and free trace events */
37683769
for (i = 0; i < npevs; i++) {
37693770
pev = &pevs[i];
3770-
for (j = 0; j < pevs[i].ntevs; j++)
3771-
clear_probe_trace_event(&pevs[i].tevs[j]);
3772-
zfree(&pevs[i].tevs);
3773-
pevs[i].ntevs = 0;
3774-
nsinfo__zput(pev->nsi);
3775-
clear_perf_probe_event(&pevs[i]);
3771+
for (j = 0; j < pev->ntevs; j++)
3772+
clear_probe_trace_event(&pev->tevs[j]);
3773+
zfree(&pev->tevs);
3774+
pev->ntevs = 0;
3775+
clear_perf_probe_event(pev);
37763776
}
37773777
}
37783778

0 commit comments

Comments
 (0)