]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/l2tp/l2tp_core.c
l2tp: avoid to use synchronize_rcu in tunnel free function
[karo-tx-linux.git] / net / l2tp / l2tp_core.c
index 393355d37b476bc67219d57221759c3a1bdb52e8..513cab08a9863c0080d510ae5a2a4d927ad2ccdd 100644 (file)
@@ -1347,11 +1347,10 @@ static void l2tp_tunnel_free(struct l2tp_tunnel *tunnel)
        /* Remove from tunnel list */
        spin_lock_bh(&pn->l2tp_tunnel_list_lock);
        list_del_rcu(&tunnel->list);
+       kfree_rcu(tunnel, rcu);
        spin_unlock_bh(&pn->l2tp_tunnel_list_lock);
-       synchronize_rcu();
 
        atomic_dec(&l2tp_tunnel_count);
-       kfree(tunnel);
 }
 
 /* Create a socket for the tunnel, if one isn't set up by