Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / net / sched / act_mpls.c
index c7d5e12ee9197e065fec6ee7d42c32bfbae57f13..325eddcc6621e37ec03e4b9c929c0a2cc86603a4 100644 (file)
@@ -262,7 +262,7 @@ static int tcf_mpls_init(struct net *net, struct nlattr *nla,
 
        spin_lock_bh(&m->tcf_lock);
        goto_ch = tcf_action_set_ctrlact(*a, parm->action, goto_ch);
-       rcu_swap_protected(m->mpls_p, p, lockdep_is_held(&m->tcf_lock));
+       p = rcu_replace_pointer(m->mpls_p, p, lockdep_is_held(&m->tcf_lock));
        spin_unlock_bh(&m->tcf_lock);
 
        if (goto_ch)