perf bpf: Fix memory leaks relating to BTF.
authorIan Rogers <irogers@google.com>
Thu, 26 Aug 2021 18:48:33 +0000 (11:48 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 31 Aug 2021 18:12:00 +0000 (15:12 -0300)
BTF needs to be freed with btf__free().

Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: Kajol Jain <kjain@linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lore.kernel.org/lkml/20210826184833.408563-1-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c
tools/perf/util/bpf-event.c

index d43f6b5..0bae061 100644 (file)
@@ -1833,7 +1833,7 @@ static int symbol__disassemble_bpf(struct symbol *sym,
        ret = 0;
 out:
        free(prog_linfo);
-       free(btf);
+       btf__free(btf);
        fclose(s);
        bfd_close(bfdf);
        return ret;
index cdecda1..17a9844 100644 (file)
@@ -296,7 +296,7 @@ static int perf_event__synthesize_one_bpf_prog(struct perf_session *session,
 
 out:
        free(info_linear);
-       free(btf);
+       btf__free(btf);
        return err ? -1 : 0;
 }
 
@@ -486,7 +486,7 @@ static void perf_env__add_bpf_info(struct perf_env *env, u32 id)
        perf_env__fetch_btf(env, btf_id, btf);
 
 out:
-       free(btf);
+       btf__free(btf);
        close(fd);
 }