On 2013/6/25 18:10, Masami Hiramatsu wrote:
> (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,

That's fine, I just saw there have a little inconsistent between
trace_kprobe.c and trace_uprobe.c.

Please ignore this patch if you don't like. :)
Thanks.

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


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

Reply via email to