Skip to contentSkip to conversation

Patch "perf bench: Fix two memory leaks detected with ASan" has been added to the 4.9-stable tree

DISCUSSION Sohaib Mohamed 1 participant 1 message Nov 21, 2021 1 message not in the archive Stable branch

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

Hi, Sasha

Quoted 8 lines · Sasha Levin

This is a note to let you know that I've just added the patch titled

perf bench: Fix two memory leaks detected with ASan

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

Quoted 8 lines

The filename of the patch is:
perf-bench-fix-two-memory-leaks-detected-with-asan.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

I think this patch should not be added to the stable tree. I think this patch should be reverted soon.

Thanks,
- Sohaib

Quoted 50 lines

commit b1c29e2248629770cee7ac88cb9dfea91e07146b

Author: Sohaib Mohamed <[email protected]>
Date:   Wed Nov 10 04:20:11 2021 +0200

perf bench: Fix two memory leaks detected with ASan

[ Upstream commit 92723ea0f11d92496687db8c9725248e9d1e5e1d ]

ASan reports memory leaks while running:

$ perf bench sched all

Fixes e27454cc6352c422 ("perf bench: Add sched-messaging.c: Benchmark for scheduler and IPC mechanisms based on hackbench")
Cc Alexander Shishkin <[email protected]>
Cc Hitoshi Mitake <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Russel <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Pierre Gondois <[email protected]>
tools/perf/bench/sched-messaging.c +4 -0
index 6a111e775210f..9322fd166bdaf 100644
@@ -225,6 +225,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 */
@@ -241,6 +243,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;
 }