(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) <[email protected]> > Cc: Masami Hiramatsu <[email protected]> > Cc: Oleg Nesterov <[email protected]> > --- > 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: [email protected] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

