On Thu, Feb 17, 2022 at 5:19 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > Both bpf_map__set_priv/bpf_map__priv are deprecated > and will be eventually removed. > > Using hashmap to replace that functionality. > > Suggested-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > --- > tools/perf/util/bpf-loader.c | 62 ++++++++++++++++++++++++++++++++---- > 1 file changed, 55 insertions(+), 7 deletions(-) > [...] > +static int map_set_priv(struct bpf_map *map, void *priv) > +{ > + void *old_priv; > + > + if (!bpf_map_hash) { > + bpf_map_hash = hashmap__new(ptr_hash, ptr_equal, NULL); > + if (!bpf_map_hash) same as in previous patch, on error this is not going to be NULL > + return -ENOMEM; > + } > + > + old_priv = map_priv(map); > + if (old_priv) { > + bpf_map_priv__clear(map, old_priv); > + return hashmap__set(bpf_map_hash, map, priv, NULL, NULL); > + } > + return hashmap__add(bpf_map_hash, map, priv); > +} > + [...]