Re: [PATCH] tracing/dynevent: Fix a memory leak in an error handling path

From: Masami Hiramatsu
Date: Mon Apr 12 2021 - 05:12:36 EST


On Sun, 11 Apr 2021 12:21:54 +0200
Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:

> We must free 'argv' before returning, as already done in all the other
> paths of this function.

OOps, thanks for finding the bug!

>
> Fixes: d262271d0483 ("tracing/dynevent: Delegate parsing to create function")
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thank you,

> ---
> kernel/trace/trace_dynevent.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/trace_dynevent.c b/kernel/trace/trace_dynevent.c
> index dc971a68dda4..e57cc0870892 100644
> --- a/kernel/trace/trace_dynevent.c
> +++ b/kernel/trace/trace_dynevent.c
> @@ -63,8 +63,10 @@ int dyn_event_release(const char *raw_command, struct dyn_event_operations *type
> event = p + 1;
> *p = '\0';
> }
> - if (event[0] == '\0')
> - return -EINVAL;
> + if (event[0] == '\0') {
> + ret = -EINVAL;
> + goto out;
> + }
>
> mutex_lock(&event_mutex);
> for_each_dyn_event_safe(pos, n) {
> --
> 2.27.0
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>