diff options
| author | Steven Rostedt <rostedt@goodmis.org> | 2008-08-14 22:47:17 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-10-14 04:35:05 -0400 |
| commit | a9fdda33cd7c7519b082e37538fe790f9ff684bb (patch) | |
| tree | 56d16d69e519e127a2090df6a16aa9029e8c0e05 | |
| parent | 732f3ca7d4ba3c1be8d051d52302ef441ee7748b (diff) | |
ftrace: do not show freed records in available_filter_functions
Seems that freed records can appear in the available_filter_functions list.
This patch fixes that.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
| -rw-r--r-- | kernel/trace/ftrace.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index ea45bb1c0fd6..8affb6d00ec1 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
| @@ -872,15 +872,13 @@ t_next(struct seq_file *m, void *v, loff_t *pos) | |||
| 872 | } | 872 | } |
| 873 | } else { | 873 | } else { |
| 874 | rec = &iter->pg->records[iter->idx++]; | 874 | rec = &iter->pg->records[iter->idx++]; |
| 875 | if ((!(iter->flags & FTRACE_ITER_FAILURES) && | 875 | if ((rec->flags & FTRACE_FL_FREE) || |
| 876 | |||
| 877 | (!(iter->flags & FTRACE_ITER_FAILURES) && | ||
| 876 | (rec->flags & FTRACE_FL_FAILED)) || | 878 | (rec->flags & FTRACE_FL_FAILED)) || |
| 877 | 879 | ||
| 878 | ((iter->flags & FTRACE_ITER_FAILURES) && | 880 | ((iter->flags & FTRACE_ITER_FAILURES) && |
| 879 | (!(rec->flags & FTRACE_FL_FAILED) || | 881 | !(rec->flags & FTRACE_FL_FAILED)) || |
| 880 | (rec->flags & FTRACE_FL_FREE))) || | ||
| 881 | |||
| 882 | ((iter->flags & FTRACE_ITER_FILTER) && | ||
| 883 | !(rec->flags & FTRACE_FL_FILTER)) || | ||
| 884 | 882 | ||
| 885 | ((iter->flags & FTRACE_ITER_NOTRACE) && | 883 | ((iter->flags & FTRACE_ITER_NOTRACE) && |
| 886 | !(rec->flags & FTRACE_FL_NOTRACE))) { | 884 | !(rec->flags & FTRACE_FL_NOTRACE))) { |
