Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / net / sched / act_sample.c
index 29b23bfaf10ddc1f27dc6391997e0e63cd98152d..ce948c1e24dc543506c1cb1c0d42352f79a5c551 100644 (file)
@@ -102,8 +102,8 @@ static int tcf_sample_init(struct net *net, struct nlattr *nla,
        goto_ch = tcf_action_set_ctrlact(*a, parm->action, goto_ch);
        s->rate = rate;
        s->psample_group_num = psample_group_num;
-       rcu_swap_protected(s->psample_group, psample_group,
-                          lockdep_is_held(&s->tcf_lock));
+       psample_group = rcu_replace_pointer(s->psample_group, psample_group,
+                                           lockdep_is_held(&s->tcf_lock));
 
        if (tb[TCA_SAMPLE_TRUNC_SIZE]) {
                s->truncate = true;