alistair23-linux/kernel/trace
Li Zefan c58b43218c tracing/filters: Defer pred allocation, fix memory leak
The predicates of an event and their filter structure are allocated
when we create an event filter for the first time.

These objects must be created once but each time we come with a new
filter, we overwrite such pre-existing allocation, if any.

Thus, this patch checks if the filter has already been allocated
before going ahead.

Spotted-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tom Zanussi <tzanussi@gmail.com>
Cc: Masami Hiramatsu <mhiramat@redhat.com>
LKML-Reference: <4A9CB1BA.3060402@cn.fujitsu.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
2009-09-04 23:22:33 +02:00
..
blktrace.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
ftrace.c ftrace: Simplify seqfile code 2009-08-17 11:25:10 +02:00
Kconfig tracing: remove legacy select of MARKERS by context switch tracing 2009-08-27 16:58:03 -04:00
kmemtrace.c kmemtrace: Rename some functions 2009-07-10 12:09:04 +02:00
Makefile tracing/events: convert block trace points to TRACE_EVENT() 2009-06-09 12:34:23 -04:00
ring_buffer.c Merge branch 'linus' into tracing/core 2009-08-11 14:19:09 +02:00
ring_buffer_benchmark.c ring-buffer: have benchmark test print to trace buffer 2009-06-17 17:01:09 -04:00
trace.c tracing: only show tracing_max_latency when latency tracer configured 2009-08-27 16:58:05 -04:00
trace.h tracing: only show tracing_max_latency when latency tracer configured 2009-08-27 16:58:05 -04:00
trace_boot.c
trace_branch.c Merge branch 'linus' into tracing/core 2009-05-07 11:17:34 +02:00
trace_clock.c
trace_event_profile.c ftrace: Fix perf-tracepoint OOPS 2009-08-06 06:26:09 +02:00
trace_event_types.h trace_export: Repair missed fields 2009-06-26 20:48:40 +02:00
trace_events.c tracing/filters: Add __field_ext() to TRACE_EVENT 2009-08-26 00:32:06 -04:00
trace_events_filter.c tracing/filters: Defer pred allocation, fix memory leak 2009-09-04 23:22:33 +02:00
trace_export.c tracing/filters: Defer pred allocation 2009-08-31 10:58:08 +02:00
trace_functions.c Merge branch 'linus' into tracing/core 2009-07-18 12:20:01 +02:00
trace_functions_graph.c Merge branch 'linus' into tracing/core 2009-08-11 14:19:09 +02:00
trace_hw_branches.c Merge branch 'tracing/hw-branch-tracing' into tracing/core 2009-05-07 13:36:22 +02:00
trace_irqsoff.c
trace_mmiotrace.c
trace_nop.c
trace_output.c tracing: Fix trace_print_seq() 2009-07-02 08:51:13 +02:00
trace_output.h tracing: add protection around module events unload 2009-06-09 17:29:07 -04:00
trace_power.c Merge branch 'linus' into tracing/core 2009-05-07 11:17:34 +02:00
trace_printk.c tracing: show proper address for trace-printk format 2009-07-23 10:07:17 -04:00
trace_sched_switch.c tracing: Move sched event insertion helpers in the sched switch tracer file 2009-08-06 07:28:06 +02:00
trace_sched_wakeup.c tracing/wakeup: move access to wakeup_cpu into spinlock 2009-04-23 23:01:36 -04:00
trace_selftest.c tracing/function-graph-tracer: Move graph event insertion helpers in the graph tracer file 2009-08-06 07:28:06 +02:00
trace_selftest_dynamic.c
trace_stack.c trace_stack: Simplify seqfile code 2009-08-17 11:25:09 +02:00
trace_stat.c trace_stat: Fix missing entry in stat file 2009-08-17 11:25:09 +02:00
trace_stat.h tracing/stat: Add stat_release() callback 2009-07-10 12:14:05 +02:00
trace_syscalls.c tracing: Convert event tracing code to use NR_syscalls 2009-08-26 21:30:02 +02:00
trace_sysprof.c Merge branch 'timers-for-linus-migration' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-15 10:06:19 -07:00
trace_workqueue.c tracing/workqueues: Add refcnt to struct cpu_workqueue_stats 2009-07-10 12:14:07 +02:00