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

Masami Hiramatsu
2013-06-25T10:10:23Z

(2013/06/25 17:15), zhangwei(Jovi) wrote:
> 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.

Sorry, nack. For the symmetrical coding reason, I don't like
involving "free" and "alloc" into "unregister"/"register"
functions. I think those should be just another actions.

Thank you,

>
> 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:
>

--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com