Messages in this thread Patch in this message | | | Date | Thu, 24 Aug 2023 19:40:00 -0700 | Subject | [PATCH v2 4/6] perf pmu: Make id const and add missing free | From | Ian Rogers <> |
| |
The struct pmu id is initialized from pmu_id that is read into allocated memory from a file, as such it needs free-ing in pmu__delete. Make the id value const so that we can remove casts in tests.
Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/tests/pmu-events.c | 4 ++-- tools/perf/util/pmu.c | 1 + tools/perf/util/pmu.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/tools/perf/tests/pmu-events.c b/tools/perf/tests/pmu-events.c index 94937378647a..eb243392c0f4 100644 --- a/tools/perf/tests/pmu-events.c +++ b/tools/perf/tests/pmu-events.c @@ -684,7 +684,7 @@ static struct perf_pmu_test_pmu test_pmus[] = { .pmu = { .name = "uncore_sys_ddr_pmu0", .is_uncore = 1, - .id = (char *)"v8", + .id = "v8", }, .aliases = { &sys_ddr_pmu_write_cycles, @@ -694,7 +694,7 @@ static struct perf_pmu_test_pmu test_pmus[] = { .pmu = { .name = "uncore_sys_ccn_pmu4", .is_uncore = 1, - .id = (char *)"0x01", + .id = "0x01", }, .aliases = { &sys_ccn_pmu_read_cycles, diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c index eb42f9830be7..b92dc7237f3b 100644 --- a/tools/perf/util/pmu.c +++ b/tools/perf/util/pmu.c @@ -2056,6 +2056,7 @@ void perf_pmu__delete(struct perf_pmu *pmu) zfree(&pmu->default_config); zfree(&pmu->name); zfree(&pmu->alias_name); + zfree(&pmu->id); free(pmu); } diff --git a/tools/perf/util/pmu.h b/tools/perf/util/pmu.h index e90169ab3dc2..73965f208009 100644 --- a/tools/perf/util/pmu.h +++ b/tools/perf/util/pmu.h @@ -49,7 +49,7 @@ struct perf_pmu { * @id: Optional PMU identifier read from * <sysfs>/bus/event_source/devices/<name>/identifier. */ - char *id; + const char *id; /** * @type: Perf event attributed type value, read from * <sysfs>/bus/event_source/devices/<name>/type. -- 2.42.0.rc2.253.gd59a3bf2b4-goog
| |