From: Tom Parkin Date: Tue, 19 Mar 2013 06:11:17 +0000 (+0000) Subject: l2tp: take a reference for kernel sockets in l2tp_tunnel_sock_lookup X-Git-Tag: Ubuntu-5.13.0-19.19~22632^2~27^2~6 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=8abbbe8ff572fd84d1b98eb9acf30611a97cf72e;p=mirror_ubuntu-jammy-kernel.git l2tp: take a reference for kernel sockets in l2tp_tunnel_sock_lookup When looking up the tunnel socket in struct l2tp_tunnel, hold a reference whether the socket was created by the kernel or by userspace. Signed-off-by: Tom Parkin Signed-off-by: James Chapman Signed-off-by: David S. Miller --- diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c index 0dd50c079f29..45373fee38c5 100644 --- a/net/l2tp/l2tp_core.c +++ b/net/l2tp/l2tp_core.c @@ -191,6 +191,7 @@ struct sock *l2tp_tunnel_sock_lookup(struct l2tp_tunnel *tunnel) } else { /* Socket is owned by kernelspace */ sk = tunnel->sock; + sock_hold(sk); } out: @@ -209,6 +210,7 @@ void l2tp_tunnel_sock_put(struct sock *sk) } sock_put(sk); } + sock_put(sk); } EXPORT_SYMBOL_GPL(l2tp_tunnel_sock_put);