lkml.org 
[lkml]   [2010]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -tip 5/5] tracing: simplify memory recycle of trace_define_field
On 02/24/2010 04:04 PM, Li Zefan wrote:
> Wenji Huang wrote:
>> Discard freeing field->type since it's not necessary and may be hazard.
>>
>
> It's redundant, but it's safe, because if we run into this failure path,
> field->type is always NULL.

There are two entries to failure path, field->name == NULL or
field->type == NULL. And allocating for field->name is before field->type.

IMHO, field->type is not fixed after initialization, it's
not safe if field->name==NULL goes to failure path.

Regards,
Wenji
>
>> Signed-off-by: Wenji Huang<wenji.huang@oracle.com>
>
> Reviewed-by: Li Zefan<lizf@cn.fujitsu.com>
>
>> ---
>> kernel/trace/trace_events.c | 4 +---
>> 1 files changed, 1 insertions(+), 3 deletions(-)
>>
>> diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
>> index c2a3077..3f972ad 100644
>> --- a/kernel/trace/trace_events.c
>> +++ b/kernel/trace/trace_events.c
>> @@ -60,10 +60,8 @@ int trace_define_field(struct ftrace_event_call *call, const char *type,
>> return 0;
>>
>> err:
>> - if (field) {
>> + if (field)
>> kfree(field->name);
>> - kfree(field->type);
>> - }
>> kfree(field);
>>
>> return -ENOMEM;



\
 
 \ /
  Last update: 2010-02-24 09:23    [W:0.106 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site