[PATCH 2/2] perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event()

Yicong Yang posted 2 patches 2 years ago
[PATCH 2/2] perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event()
Posted by Yicong Yang 2 years ago
From: Yicong Yang <yangyicong@hisilicon.com>

ASan complains a memory leakage in hisi_ptt_process_auxtrace_event()
that the data buffer is not freed. Since currently we only support
the raw dump trace mode, the data buffer is used only within this
function. So fix this by freeing the data buffer before going out.

Fixes: 5e91e57e6809 ("perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet")
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 tools/perf/util/hisi-ptt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c
index 43bd1ca62d58..52d0ce302ca0 100644
--- a/tools/perf/util/hisi-ptt.c
+++ b/tools/perf/util/hisi-ptt.c
@@ -123,6 +123,7 @@ static int hisi_ptt_process_auxtrace_event(struct perf_session *session,
 	if (dump_trace)
 		hisi_ptt_dump_event(ptt, data, size);
 
+	free(data);
 	return 0;
 }
 
-- 
2.24.0
Re: [PATCH 2/2] perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event()
Posted by Namhyung Kim 2 years ago
On Thu, Dec 7, 2023 at 12:20 AM Yicong Yang <yangyicong@huawei.com> wrote:
>
> From: Yicong Yang <yangyicong@hisilicon.com>
>
> ASan complains a memory leakage in hisi_ptt_process_auxtrace_event()
> that the data buffer is not freed. Since currently we only support
> the raw dump trace mode, the data buffer is used only within this
> function. So fix this by freeing the data buffer before going out.
>
> Fixes: 5e91e57e6809 ("perf auxtrace arm64: Add support for parsing HiSilicon PCIe Trace packet")
> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>

Acked-by: Namhyung Kim <Namhyung@kernel.org>

Thanks,
Namhyung

> ---
>  tools/perf/util/hisi-ptt.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c
> index 43bd1ca62d58..52d0ce302ca0 100644
> --- a/tools/perf/util/hisi-ptt.c
> +++ b/tools/perf/util/hisi-ptt.c
> @@ -123,6 +123,7 @@ static int hisi_ptt_process_auxtrace_event(struct perf_session *session,
>         if (dump_trace)
>                 hisi_ptt_dump_event(ptt, data, size);
>
> +       free(data);
>         return 0;
>  }
>
> --
> 2.24.0
>
>