diff options
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/ftrace.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 5b105c5ddc0c..5728d9aa632e 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c | |||
@@ -2198,6 +2198,9 @@ static void *t_hash_start(struct seq_file *m, loff_t *pos) | |||
2198 | void *p = NULL; | 2198 | void *p = NULL; |
2199 | loff_t l; | 2199 | loff_t l; |
2200 | 2200 | ||
2201 | if (!(iter->flags & FTRACE_ITER_DO_HASH)) | ||
2202 | return NULL; | ||
2203 | |||
2201 | if (iter->func_pos > *pos) | 2204 | if (iter->func_pos > *pos) |
2202 | return NULL; | 2205 | return NULL; |
2203 | 2206 | ||
@@ -2343,12 +2346,8 @@ static void *t_start(struct seq_file *m, loff_t *pos) | |||
2343 | break; | 2346 | break; |
2344 | } | 2347 | } |
2345 | 2348 | ||
2346 | if (!p) { | 2349 | if (!p) |
2347 | if (iter->flags & FTRACE_ITER_FILTER) | 2350 | return t_hash_start(m, pos); |
2348 | return t_hash_start(m, pos); | ||
2349 | |||
2350 | return NULL; | ||
2351 | } | ||
2352 | 2351 | ||
2353 | return iter; | 2352 | return iter; |
2354 | } | 2353 | } |
@@ -2541,8 +2540,9 @@ ftrace_regex_open(struct ftrace_ops *ops, int flag, | |||
2541 | static int | 2540 | static int |
2542 | ftrace_filter_open(struct inode *inode, struct file *file) | 2541 | ftrace_filter_open(struct inode *inode, struct file *file) |
2543 | { | 2542 | { |
2544 | return ftrace_regex_open(&global_ops, FTRACE_ITER_FILTER, | 2543 | return ftrace_regex_open(&global_ops, |
2545 | inode, file); | 2544 | FTRACE_ITER_FILTER | FTRACE_ITER_DO_HASH, |
2545 | inode, file); | ||
2546 | } | 2546 | } |
2547 | 2547 | ||
2548 | static int | 2548 | static int |