diff options
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/trace_events_filter.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c index 6a642e278241..816d3d074979 100644 --- a/kernel/trace/trace_events_filter.c +++ b/kernel/trace/trace_events_filter.c | |||
| @@ -2101,6 +2101,11 @@ static __init int ftrace_test_event_filter(void) | |||
| 2101 | break; | 2101 | break; |
| 2102 | } | 2102 | } |
| 2103 | 2103 | ||
| 2104 | /* | ||
| 2105 | * The preemption disabling is not really needed for self | ||
| 2106 | * tests, but the rcu dereference will complain without it. | ||
| 2107 | */ | ||
| 2108 | preempt_disable(); | ||
| 2104 | if (*d->not_visited) | 2109 | if (*d->not_visited) |
| 2105 | walk_pred_tree(filter->preds, filter->root, | 2110 | walk_pred_tree(filter->preds, filter->root, |
| 2106 | test_walk_pred_cb, | 2111 | test_walk_pred_cb, |
| @@ -2108,6 +2113,7 @@ static __init int ftrace_test_event_filter(void) | |||
| 2108 | 2113 | ||
| 2109 | test_pred_visited = 0; | 2114 | test_pred_visited = 0; |
| 2110 | err = filter_match_preds(filter, &d->rec); | 2115 | err = filter_match_preds(filter, &d->rec); |
| 2116 | preempt_enable(); | ||
| 2111 | 2117 | ||
| 2112 | __free_filter(filter); | 2118 | __free_filter(filter); |
| 2113 | 2119 | ||
