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:
parent
9d89551994
commit
30c8fd31c5
1 changed files with 4 additions and 2 deletions
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue