1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00

tracing/kprobes: Fix to free objects when failed to copy a symbol

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.

Link: https://lore.kernel.org/all/173643297743.1514810.2408159540454241947.stgit@devnote2/

Fixes: 6212dd2968 ("tracing/kprobes: Use dyn_event framework for kprobe events")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
Masami Hiramatsu (Google) 2025-01-09 23:29:37 +09:00
parent 9d89551994
commit 30c8fd31c5

View file

@ -940,8 +940,10 @@ static int __trace_kprobe_create(int argc, const char *argv[])
} }
/* a symbol specified */ /* a symbol specified */
symbol = kstrdup(argv[1], GFP_KERNEL); symbol = kstrdup(argv[1], GFP_KERNEL);
if (!symbol) if (!symbol) {
return -ENOMEM; ret = -ENOMEM;
goto error;
}
tmp = strchr(symbol, '%'); tmp = strchr(symbol, '%');
if (tmp) { if (tmp) {