diff options
author | Ingo Molnar <mingo@kernel.org> | 2018-03-09 07:32:20 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-03-09 07:32:20 +0100 |
commit | fc4c5a3828bdba157f8ea406e1f4ceb75c13039c (patch) | |
tree | e3fc4601f914fa59e70c7534206cf5c2c6ba16d1 /net/l2tp/l2tp_ip.c | |
parent | 14a7405b2e814221a951bd7a76ce4a8d24c1b3be (diff) | |
parent | 1b88accf6a659c46d5c8e68912896f112bf882bb (diff) | |
download | linux-fc4c5a3828bdba157f8ea406e1f4ceb75c13039c.tar.bz2 |
Merge branch 'linus' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/l2tp/l2tp_ip.c')
-rw-r--r-- | net/l2tp/l2tp_ip.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c index ff61124fdf59..3428fba6f2b7 100644 --- a/net/l2tp/l2tp_ip.c +++ b/net/l2tp/l2tp_ip.c @@ -234,17 +234,13 @@ static void l2tp_ip_close(struct sock *sk, long timeout) static void l2tp_ip_destroy_sock(struct sock *sk) { struct sk_buff *skb; - struct l2tp_tunnel *tunnel = l2tp_sock_to_tunnel(sk); + struct l2tp_tunnel *tunnel = sk->sk_user_data; while ((skb = __skb_dequeue_tail(&sk->sk_write_queue)) != NULL) kfree_skb(skb); - if (tunnel) { - l2tp_tunnel_closeall(tunnel); - sock_put(sk); - } - - sk_refcnt_debug_dec(sk); + if (tunnel) + l2tp_tunnel_delete(tunnel); } static int l2tp_ip_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) |