tracing/filters: free filter_string in destroy_preds()
authorLi Zefan <lizf@cn.fujitsu.com>
Tue, 16 Jun 2009 08:39:12 +0000 (16:39 +0800)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 16 Jun 2009 20:25:35 +0000 (16:25 -0400)
filter->filter_string is not freed when unloading a module:

 # insmod trace-events-sample.ko
 # echo "bar < 100" > /mnt/tracing/events/sample/foo_bar/filter
 # rmmod trace-events-sample.ko

[ Impact: fix memory leak when unloading module ]

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4A375A30.9060802@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_events_filter.c

index b24ab0e6ea74521e1fa89183d736ac96b13046b1..d9f01c1a042b4072e36b5c56a7f660c991e37f7b 100644 (file)
@@ -381,6 +381,7 @@ void destroy_preds(struct ftrace_event_call *call)
                        filter_free_pred(filter->preds[i]);
        }
        kfree(filter->preds);
+       kfree(filter->filter_string);
        kfree(filter);
        call->filter = NULL;
 }