Loading net/l2tp/l2tp_core.c +1 −2 Original line number Diff line number Diff line Loading @@ -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 Loading net/l2tp/l2tp_core.h +1 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ struct l2tp_tunnel_cfg { struct l2tp_tunnel { int magic; /* Should be L2TP_TUNNEL_MAGIC */ struct rcu_head rcu; rwlock_t hlist_lock; /* protect session_hlist */ struct hlist_head session_hlist[L2TP_HASH_SIZE]; /* hashed list of sessions, Loading Loading
net/l2tp/l2tp_core.c +1 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
net/l2tp/l2tp_core.h +1 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ struct l2tp_tunnel_cfg { struct l2tp_tunnel { int magic; /* Should be L2TP_TUNNEL_MAGIC */ struct rcu_head rcu; rwlock_t hlist_lock; /* protect session_hlist */ struct hlist_head session_hlist[L2TP_HASH_SIZE]; /* hashed list of sessions, Loading