projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0f1ef51
)
trace_kprobes: Fix memory leak
author
Lai Jiangshan
<
[email protected]
>
Wed, 25 Nov 2009 08:32:21 +0000
(16:32 +0800)
committer
Ingo Molnar
<
[email protected]
>
Fri, 27 Nov 2009 05:43:04 +0000
(06:43 +0100)
tp->nr_args is not set before we "goto error",
it causes memory leak for free_trace_probe() use tp->nr_args
to free memory of args.
Signed-off-by: Lai Jiangshan <
[email protected]
>
Acked-by: Masami Hiramatsu <
[email protected]
>
Cc: Steven Rostedt <
[email protected]
>
Cc: Frederic Weisbecker <
[email protected]
>
LKML-Reference: <
4B0CEB95
.
2060107
@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <
[email protected]
>
kernel/trace/trace_kprobe.c
patch
|
blob
|
history
diff --git
a/kernel/trace/trace_kprobe.c
b/kernel/trace/trace_kprobe.c
index 79ce6a2bd74fada4009c5c061dc7e8c4c2a16023..82e85836d05ef2fdcc63aee53907ef156e7d1762 100644
(file)
--- a/
kernel/trace/trace_kprobe.c
+++ b/
kernel/trace/trace_kprobe.c
@@
-704,10
+704,12
@@
static int create_trace_probe(int argc, char **argv)
ret = parse_probe_arg(arg, &tp->args[i].fetch, is_return);
if (ret) {
pr_info("Parse error at argument%d. (%d)\n", i, ret);
+ kfree(tp->args[i].name);
goto error;
}
+
+ tp->nr_args++;
}
- tp->nr_args = i;
ret = register_trace_probe(tp);
if (ret)