Message ID | 20230504160845.2065510-1-james.clark@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf: arm64: Fix build with refcount checking | expand |
On Thu, May 4, 2023 at 9:09 AM James Clark <james.clark@arm.com> wrote: > > With EXTRA_CFLAGS=-DREFCNT_CHECKING=1 and build-test, some unwrapped > map accesses appear. Wrap it in the new accessor to fix the error: > > error: 'struct perf_cpu_map' has no member named 'map' > > Signed-off-by: James Clark <james.clark@arm.com> Thanks James and sorry for the breakage! Acked-by: Ian Rogers <irogers@google.com> Ian > --- > tools/perf/arch/arm64/util/header.c | 4 ++-- > tools/perf/arch/arm64/util/pmu.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tools/perf/arch/arm64/util/header.c b/tools/perf/arch/arm64/util/header.c > index d730666ab95d..80b9f6287fe2 100644 > --- a/tools/perf/arch/arm64/util/header.c > +++ b/tools/perf/arch/arm64/util/header.c > @@ -29,8 +29,8 @@ static int _get_cpuid(char *buf, size_t sz, struct perf_cpu_map *cpus) > char path[PATH_MAX]; > FILE *file; > > - scnprintf(path, PATH_MAX, "%s/devices/system/cpu/cpu%d"MIDR, > - sysfs, cpus->map[cpu]); > + scnprintf(path, PATH_MAX, "%s/devices/system/cpu/cpu%d" MIDR, > + sysfs, RC_CHK_ACCESS(cpus)->map[cpu].cpu); > > file = fopen(path, "r"); > if (!file) { > diff --git a/tools/perf/arch/arm64/util/pmu.c b/tools/perf/arch/arm64/util/pmu.c > index fa143acb4c8d..ef1ed645097c 100644 > --- a/tools/perf/arch/arm64/util/pmu.c > +++ b/tools/perf/arch/arm64/util/pmu.c > @@ -18,7 +18,7 @@ static struct perf_pmu *pmu__find_core_pmu(void) > * The cpumap should cover all CPUs. Otherwise, some CPUs may > * not support some events or have different event IDs. > */ > - if (pmu->cpus->nr != cpu__max_cpu().cpu) > + if (RC_CHK_ACCESS(pmu->cpus)->nr != cpu__max_cpu().cpu) > return NULL; > > return pmu; > -- > 2.34.1 >
diff --git a/tools/perf/arch/arm64/util/header.c b/tools/perf/arch/arm64/util/header.c index d730666ab95d..80b9f6287fe2 100644 --- a/tools/perf/arch/arm64/util/header.c +++ b/tools/perf/arch/arm64/util/header.c @@ -29,8 +29,8 @@ static int _get_cpuid(char *buf, size_t sz, struct perf_cpu_map *cpus) char path[PATH_MAX]; FILE *file; - scnprintf(path, PATH_MAX, "%s/devices/system/cpu/cpu%d"MIDR, - sysfs, cpus->map[cpu]); + scnprintf(path, PATH_MAX, "%s/devices/system/cpu/cpu%d" MIDR, + sysfs, RC_CHK_ACCESS(cpus)->map[cpu].cpu); file = fopen(path, "r"); if (!file) { diff --git a/tools/perf/arch/arm64/util/pmu.c b/tools/perf/arch/arm64/util/pmu.c index fa143acb4c8d..ef1ed645097c 100644 --- a/tools/perf/arch/arm64/util/pmu.c +++ b/tools/perf/arch/arm64/util/pmu.c @@ -18,7 +18,7 @@ static struct perf_pmu *pmu__find_core_pmu(void) * The cpumap should cover all CPUs. Otherwise, some CPUs may * not support some events or have different event IDs. */ - if (pmu->cpus->nr != cpu__max_cpu().cpu) + if (RC_CHK_ACCESS(pmu->cpus)->nr != cpu__max_cpu().cpu) return NULL; return pmu;
With EXTRA_CFLAGS=-DREFCNT_CHECKING=1 and build-test, some unwrapped map accesses appear. Wrap it in the new accessor to fix the error: error: 'struct perf_cpu_map' has no member named 'map' Signed-off-by: James Clark <james.clark@arm.com> --- tools/perf/arch/arm64/util/header.c | 4 ++-- tools/perf/arch/arm64/util/pmu.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)