2021-11-10 02:25:24

by Sohaib Mohamed

[permalink] [raw]
Subject: [PATCH v2] perf bench: Fix memory leaks.

ASan reports memory leaks while running:
$ perf bench sched all

Fixes: e27454cc6352 ("perf bench: Add sched-messaging.c: Benchmark for
scheduler and IPC mechanisms based on hackbench")

Signed-off-by: Sohaib Mohamed <[email protected]>
Acked-by: Ian Rogers <[email protected]>
---
tools/perf/bench/sched-messaging.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
index 488f6e6ba1a5..fa0ff4ce2b74 100644
--- a/tools/perf/bench/sched-messaging.c
+++ b/tools/perf/bench/sched-messaging.c
@@ -223,6 +223,8 @@ static unsigned int group(pthread_t *pth,
snd_ctx->out_fds[i] = fds[1];
if (!thread_mode)
close(fds[0]);
+
+ free(ctx);
}

/* Now we have all the fds, fork the senders */
@@ -239,6 +241,8 @@ static unsigned int group(pthread_t *pth,
for (i = 0; i < num_fds; i++)
close(snd_ctx->out_fds[i]);

+ free(snd_ctx);
+
/* Return number of children to reap */
return num_fds * 2;
}
--
2.25.1


2021-11-17 15:25:30

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH v2] perf bench: Fix memory leaks.

Em Wed, Nov 10, 2021 at 04:20:11AM +0200, Sohaib Mohamed escreveu:
> ASan reports memory leaks while running:
> $ perf bench sched all
>
> Fixes: e27454cc6352 ("perf bench: Add sched-messaging.c: Benchmark for
> scheduler and IPC mechanisms based on hackbench")

Thanks, applied.

- Arnaldo


> Signed-off-by: Sohaib Mohamed <[email protected]>
> Acked-by: Ian Rogers <[email protected]>
> ---
> tools/perf/bench/sched-messaging.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
> index 488f6e6ba1a5..fa0ff4ce2b74 100644
> --- a/tools/perf/bench/sched-messaging.c
> +++ b/tools/perf/bench/sched-messaging.c
> @@ -223,6 +223,8 @@ static unsigned int group(pthread_t *pth,
> snd_ctx->out_fds[i] = fds[1];
> if (!thread_mode)
> close(fds[0]);
> +
> + free(ctx);
> }
>
> /* Now we have all the fds, fork the senders */
> @@ -239,6 +241,8 @@ static unsigned int group(pthread_t *pth,
> for (i = 0; i < num_fds; i++)
> close(snd_ctx->out_fds[i]);
>
> + free(snd_ctx);
> +
> /* Return number of children to reap */
> return num_fds * 2;
> }
> --
> 2.25.1

--

- Arnaldo