[PATCH v5 1/5] tracing/kprobes: Fix to free objects when failed to copy a symbol

Masami Hiramatsu (Google) posted 5 patches 11 months, 2 weeks ago
There is a newer version of this series
[PATCH v5 1/5] tracing/kprobes: Fix to free objects when failed to copy a symbol
Posted by Masami Hiramatsu (Google) 11 months, 2 weeks ago
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>

In __trace_kprobe_create(), if something fails it must goto error block
to free objects. But when strdup() a symbol, it returns without that.
Fix it to goto the error block to free objects correctly.

Fixes: 6212dd29683e ("tracing/kprobes: Use dyn_event framework for kprobe events")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
---
 kernel/trace/trace_kprobe.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 263fac44d3ca..fb9d4dffa66e 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -940,8 +940,10 @@ static int __trace_kprobe_create(int argc, const char *argv[])
 		}
 		/* a symbol specified */
 		symbol = kstrdup(argv[1], GFP_KERNEL);
-		if (!symbol)
-			return -ENOMEM;
+		if (!symbol) {
+			ret = -ENOMEM;
+			goto error;
+		}
 
 		tmp = strchr(symbol, '%');
 		if (tmp) {
Re: [PATCH v5 1/5] tracing/kprobes: Fix to free objects when failed to copy a symbol
Posted by Steven Rostedt 11 months, 2 weeks ago
On Wed,  8 Jan 2025 11:10:46 +0900
"Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:

> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> 
> In __trace_kprobe_create(), if something fails it must goto error block
> to free objects. But when strdup() a symbol, it returns without that.
> Fix it to goto the error block to free objects correctly.
> 
> Fixes: 6212dd29683e ("tracing/kprobes: Use dyn_event framework for kprobe events")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> ---
>  kernel/trace/trace_kprobe.c |    6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>

-- Steve