diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-12-06 09:42:35 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-12-06 09:43:49 +0400 |
commit | d6c1c49de577fa292af2449817364b7d89b574d8 (patch) | |
tree | e97cf88a318f50eb23c18d790e8b0bcf7bb47169 /kernel/trace/trace_events_filter.c | |
parent | 9dde9dc0a81c7aeb863b35121d09011f09b4897c (diff) | |
parent | ddf6e0e50723b62ac76ed18eb53e9417c6eefba7 (diff) | |
download | linux-d6c1c49de577fa292af2449817364b7d89b574d8.tar.xz |
Merge branch 'perf/urgent' into perf/core
Merge reason: Add these cherry-picked commits so that future changes
on perf/core don't conflict.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_events_filter.c')
-rw-r--r-- | kernel/trace/trace_events_filter.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c index fdc6d22d406b..f04cc3136bd3 100644 --- a/kernel/trace/trace_events_filter.c +++ b/kernel/trace/trace_events_filter.c @@ -1697,7 +1697,7 @@ static int replace_system_preds(struct event_subsystem *system, * replace the filter for the call. */ filter = call->filter; - call->filter = filter_item->filter; + rcu_assign_pointer(call->filter, filter_item->filter); filter_item->filter = filter; fail = false; @@ -1752,7 +1752,7 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string) filter = call->filter; if (!filter) goto out_unlock; - call->filter = NULL; + RCU_INIT_POINTER(call->filter, NULL); /* Make sure the filter is not being used */ synchronize_sched(); __free_filter(filter); @@ -1793,7 +1793,7 @@ out: * string */ tmp = call->filter; - call->filter = filter; + rcu_assign_pointer(call->filter, filter); if (tmp) { /* Make sure the call is done with the filter */ synchronize_sched(); |