Commit 30c8fd31 authored by Masami Hiramatsu (Google)'s avatar Masami Hiramatsu (Google)
Browse files

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: 6212dd29 ("tracing/kprobes: Use dyn_event framework for kprobe events")
Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
parent 9d895519
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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) {