lkml.org 
[lkml]   [2009]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tracing/filters: Defer pred allocation, fix memory leak
On Tue, Sep 01, 2009 at 01:31:38PM +0800, Li Zefan wrote:
> Check if we have already allocated memory for filter preds.
>
> Spotted-by: Frederic Weisbecker <fweisbec@gmail.com>
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>


Acked-by: Frederic Weisbecker <fweisbec@gmail.com>


> ---
> kernel/trace/trace_events_filter.c | 11 ++++++-----
> 1 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
> index c6b2edf..93660fb 100644
> --- a/kernel/trace/trace_events_filter.c
> +++ b/kernel/trace/trace_events_filter.c
> @@ -409,6 +409,9 @@ static int init_preds(struct ftrace_event_call *call)
> struct filter_pred *pred;
> int i;
>
> + if (call->filter)
> + return 0;
> +
> filter = call->filter = kzalloc(sizeof(*filter), GFP_KERNEL);
> if (!call->filter)
> return -ENOMEM;
> @@ -447,11 +450,9 @@ static int init_subsystem_preds(struct event_subsystem *system)
> if (strcmp(call->system, system->name) != 0)
> continue;
>
> - if (!call->filter) {
> - err = init_preds(call);
> - if (err)
> - return err;
> - }
> + err = init_preds(call);
> + if (err)
> + return err;
> }
>
> return 0;
> --
> 1.6.3
>



\
 
 \ /
  Last update: 2009-09-01 11:35    [W:0.045 / U:1.900 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site