diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c index d81b6ca18ee9..b6a8935026eb 100644 --- a/tools/perf/util/map.c +++ b/tools/perf/util/map.c @@ -112,7 +112,7 @@ void map__init(struct map *map, u64 start, u64 end, u64 pgoff, struct dso *dso) map->map_ip = map__dso_map_ip; map->unmap_ip = map__dso_unmap_ip; map->erange_warned = false; - refcount_set(&map->refcnt, 1); + refcount_set(map__refcnt(map), 1); } struct map *map__new(struct machine *machine, u64 start, u64 len, @@ -292,7 +292,7 @@ bool map__has_symbols(const struct map *map) static void map__exit(struct map *map) { - BUG_ON(refcount_read(&map->refcnt) != 0); + BUG_ON(refcount_read(map__refcnt(map)) != 0); dso__zput(map->dso); } @@ -304,7 +304,7 @@ void map__delete(struct map *map) void map__put(struct map *map) { - if (map && refcount_dec_and_test(&map->refcnt)) + if (map && refcount_dec_and_test(map__refcnt(map))) map__delete(map); } diff --git a/tools/perf/util/map.h b/tools/perf/util/map.h index f89ab7c2d327..4f7d9505f7ff 100644 --- a/tools/perf/util/map.h +++ b/tools/perf/util/map.h @@ -159,7 +159,7 @@ struct map *map__clone(struct map *map); static inline struct map *map__get(struct map *map) { if (map) - refcount_inc(&map->refcnt); + refcount_inc(map__refcnt(map)); return map; }