| From f48c3cbd4b3a765cf75523307ffdc321de4a6742 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 15 Jul 2021 18:07:25 +0200 |
| Subject: perf probe-file: Delete namelist in del_events() on the error path |
| |
| From: Riccardo Mancini <rickyman7@gmail.com> |
| |
| [ Upstream commit e0fa7ab42232e742dcb3de9f3c1f6127b5adc019 ] |
| |
| ASan reports some memory leaks when running: |
| |
| # perf test "42: BPF filter" |
| |
| This second leak is caused by a strlist not being dellocated on error |
| inside probe_file__del_events. |
| |
| This patch adds a goto label before the deallocation and makes the error |
| path jump to it. |
| |
| Signed-off-by: Riccardo Mancini <rickyman7@gmail.com> |
| Fixes: e7895e422e4da63d ("perf probe: Split del_perf_probe_events()") |
| Cc: Ian Rogers <irogers@google.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> |
| Link: http://lore.kernel.org/lkml/174963c587ae77fa108af794669998e4ae558338.1626343282.git.rickyman7@gmail.com |
| Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/perf/util/probe-file.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/tools/perf/util/probe-file.c b/tools/perf/util/probe-file.c |
| index 52273542e6ef..3f6de459ac2b 100644 |
| --- a/tools/perf/util/probe-file.c |
| +++ b/tools/perf/util/probe-file.c |
| @@ -342,11 +342,11 @@ int probe_file__del_events(int fd, struct strfilter *filter) |
| |
| ret = probe_file__get_events(fd, filter, namelist); |
| if (ret < 0) |
| - return ret; |
| + goto out; |
| |
| ret = probe_file__del_strlist(fd, namelist); |
| +out: |
| strlist__delete(namelist); |
| - |
| return ret; |
| } |
| |
| -- |
| 2.30.2 |
| |