]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
tracing/filters: Fix memory leak when setting a filter
authorLi Zefan <lizf@cn.fujitsu.com>
Tue, 13 Oct 2009 01:28:57 +0000 (09:28 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 22 Oct 2009 22:11:45 +0000 (15:11 -0700)
commit 8ad807318fcd62aba0e18c7c7fbfcc1af3fcdbab upstream.

Every time we set a filter, we leak memory allocated by
postfix_append_operand() and postfix_append_op().

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <4AD3D7D9.4070400@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/trace/trace_events_filter.c

index f32dc9d1ea7b51bb5c469b7778fc198079f5c499..a6b0d73a0d9db7b3b6fc9f94f424f4cecfacb268 100644 (file)
@@ -844,8 +844,9 @@ static void postfix_clear(struct filter_parse_state *ps)
 
        while (!list_empty(&ps->postfix)) {
                elt = list_first_entry(&ps->postfix, struct postfix_elt, list);
-               kfree(elt->operand);
                list_del(&elt->list);
+               kfree(elt->operand);
+               kfree(elt);
        }
 }