Files
linux/kernel
Steven Rostedt 098335215a tracing: fix memory leak in trace_stat
If the function profiler does not have any items recorded and one were
to cat the function stat file, the kernel would take a BUG with a NULL
pointer dereference.

Looking further into this, I found that returning NULL from stat_start
did not stop the stat logic, and would later call stat_next. This breaks
from the way seq_file works, so I looked into fixing the stat code.

This is where I noticed that the last next_entry is never freed.
It is allocated, and if the stat_next returns NULL, the code breaks out
of the loop, unlocks the mutex and exits. We never link the next_entry
nor do we free it. Thus it is a real memory leak.

This patch rearranges the code a bit to not only fix the memory leak,
but also to act more like seq_file where nothing is printed if there
is nothing to print. That is, stat_start returns NULL.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
2009-03-24 09:07:35 -04:00
..
2009-02-08 10:00:26 -08:00
2009-02-18 15:37:54 -08:00
2008-10-16 11:21:30 -07:00
2009-02-13 09:44:22 +01:00
2009-02-11 18:24:08 +01:00
2008-07-28 14:37:38 +02:00
2009-02-22 20:05:19 +01:00
2009-01-06 15:59:27 -08:00
2008-12-10 08:01:54 -08:00
2009-02-21 14:17:17 -08:00
2009-01-14 18:09:02 +01:00
2009-01-08 08:31:02 -08:00
2009-02-10 00:41:54 +01:00
2009-01-08 08:31:12 -08:00
2008-09-02 19:21:40 -07:00
2009-01-06 11:07:15 +01:00
2008-10-16 11:21:47 -07:00