]> git.openfabrics.org - ~shefty/rdma-dev.git/blobdiff - kernel/trace/trace_events_filter.c
Merge branch 'perf/urgent' into perf/core
[~shefty/rdma-dev.git] / kernel / trace / trace_events_filter.c
index fdc6d22d406b65505ac51241401c4f7276b3392c..f04cc3136bd370b6fbf9007cb7067ec1476892d4 100644 (file)
@@ -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();