]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/sched/act_tunnel_key.c
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / net / sched / act_tunnel_key.c
index 6379f9568ab816e2014311fb69b3f7e7bab03ff5..536c4bc31be60c35d0881fd3380aaebb42ab2d69 100644 (file)
@@ -529,8 +529,8 @@ static int tunnel_key_init(struct net *net, struct nlattr *nla,
 
        spin_lock_bh(&t->tcf_lock);
        goto_ch = tcf_action_set_ctrlact(*a, parm->action, goto_ch);
-       rcu_swap_protected(t->params, params_new,
-                          lockdep_is_held(&t->tcf_lock));
+       params_new = rcu_replace_pointer(t->params, params_new,
+                                        lockdep_is_held(&t->tcf_lock));
        spin_unlock_bh(&t->tcf_lock);
        tunnel_key_release_params(params_new);
        if (goto_ch)