perf bpf: Add missing free to bpf_event__print_bpf_prog_info()
authorIan Rogers <irogers@google.com>
Sat, 6 Nov 2021 05:37:33 +0000 (22:37 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:17:10 +0000 (19:17 +0100)
[ Upstream commit 88c42f4d6cb249eb68524282f8d4cc32f9059984 ]

If btf__new() is called then there needs to be a corresponding btf__free().

Fixes: f8dfeae009effc0b ("perf bpf: Show more BPF program info in print_bpf_prog_info()")
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: John Fastabend <john.fastabend@gmail.com>
Cc: KP Singh <kpsingh@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Yonghong Song <yhs@fb.com>
Cc: bpf@vger.kernel.org
Cc: netdev@vger.kernel.org
Link: http://lore.kernel.org/lkml/20211106053733.3580931-2-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/bpf-event.c

index 1a7112a..a410b39 100644 (file)
@@ -576,7 +576,7 @@ void bpf_event__print_bpf_prog_info(struct bpf_prog_info *info,
                synthesize_bpf_prog_name(name, KSYM_NAME_LEN, info, btf, 0);
                fprintf(fp, "# bpf_prog_info %u: %s addr 0x%llx size %u\n",
                        info->id, name, prog_addrs[0], prog_lens[0]);
-               return;
+               goto out;
        }
 
        fprintf(fp, "# bpf_prog_info %u:\n", info->id);
@@ -586,4 +586,6 @@ void bpf_event__print_bpf_prog_info(struct bpf_prog_info *info,
                fprintf(fp, "# \tsub_prog %u: %s addr 0x%llx size %u\n",
                        i, name, prog_addrs[i], prog_lens[i]);
        }
+out:
+       btf__free(btf);
 }