linux/kernel/trace
Steven Rostedt 37ad508419 ftrace - fix dynamic ftrace memory leak
The ftrace dynamic function update allocates a record to store the
instruction pointers that are being modified. If the modified
instruction pointer fails to update, then the record is marked as
failed and nothing more is done.

Worse, if the modification fails, but the record ip function is still
called, it will allocate a new record and try again. In just a matter
of time, will this cause a serious memory leak and crash the system.

This patch plugs this memory leak. When a record fails, it is
included back into the pool of records to be used. Now a record may
fail over and over again, but the number of allocated records will
not increase.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-05-23 20:54:04 +02:00
..
ftrace.c ftrace - fix dynamic ftrace memory leak 2008-05-23 20:54:04 +02:00
Kconfig ftrace: add self-tests 2008-05-23 20:40:36 +02:00
Makefile ftrace: trace preempt off critical timings 2008-05-23 20:32:54 +02:00
trace_functions.c ftrace: timestamp syncing, prepare 2008-05-23 20:42:31 +02:00
trace_irqsoff.c ftrace: timestamp syncing, prepare 2008-05-23 20:42:31 +02:00
trace_sched_switch.c ftrace: timestamp syncing, prepare 2008-05-23 20:42:31 +02:00
trace_sched_wakeup.c ftrace: timestamp syncing, prepare 2008-05-23 20:42:31 +02:00
trace_selftest.c ftrace: disable all tracers on corrupted buffer 2008-05-23 20:41:22 +02:00
trace.c ftrace: pipe fixes 2008-05-23 20:53:19 +02:00
trace.h ftrace: add trace_special() 2008-05-23 20:52:33 +02:00