[PATCH 1/2] tracing/kprobes: move free_trace_probe into unregister_trace_probe

zhangwei(Jovi)
2013-06-25T08:17:39Z

There have no good reason to call free_trace_probe
every time when unregister_trace_probe return 0.

Move free_trace_probe into unregister_trace_probe,
make code simpler.

Signed-off-by: zhangwei(Jovi) <jovi.zhangwei@huawei.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Oleg Nesterov <oleg@redhat.com>
---
kernel/trace/trace_kprobe.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 9f46e98..f193c38 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -401,6 +401,7 @@ static int unregister_trace_probe(struct trace_probe *tp)
__unregister_trace_probe(tp);
list_del(&tp->list);
unregister_probe_event(tp);
+ free_trace_probe(tp);

return 0;
}
@@ -419,7 +420,6 @@ static int register_trace_probe(struct trace_probe *tp)
ret = unregister_trace_probe(old_tp);
if (ret < 0)
goto end;
- free_trace_probe(old_tp);
}

/* Register new event */
@@ -550,8 +550,6 @@ static int create_trace_probe(int argc, char **argv)
}
/* delete an event */
ret = unregister_trace_probe(tp);
- if (ret == 0)
- free_trace_probe(tp);
mutex_unlock(&probe_lock);
return ret;
}
@@ -680,7 +678,6 @@ static int release_all_trace_probes(void)
while (!list_empty(&probe_list)) {
tp = list_entry(probe_list.next, struct trace_probe, list);
unregister_trace_probe(tp);
- free_trace_probe(tp);
}

end:
--
1.7.9.7