Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / net / sched / act_ctinfo.c
index b1e6010072427b512750fc1b1da388c630f0ed31..40038c321b4a970dc940714ccda4b39f0d261d6a 100644 (file)
@@ -257,8 +257,8 @@ static int tcf_ctinfo_init(struct net *net, struct nlattr *nla,
 
        spin_lock_bh(&ci->tcf_lock);
        goto_ch = tcf_action_set_ctrlact(*a, actparm->action, goto_ch);
-       rcu_swap_protected(ci->params, cp_new,
-                          lockdep_is_held(&ci->tcf_lock));
+       cp_new = rcu_replace_pointer(ci->params, cp_new,
+                                    lockdep_is_held(&ci->tcf_lock));
        spin_unlock_bh(&ci->tcf_lock);
 
        if (goto_ch)