diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index 494f00b9c5ef4bce0a34a537e83c23bc7b956c5a..6571cac6e7865d66631a8f008e25f690d85efc83 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c @@ -818,7 +818,7 @@ static struct sock *gtp_encap_enable_socket(int fd, int type, lock_sock(sock->sk); if (sock->sk->sk_user_data) { sk = ERR_PTR(-EBUSY); - goto out_sock; + goto out_rel_sock; } sk = sock->sk; @@ -831,8 +831,9 @@ static struct sock *gtp_encap_enable_socket(int fd, int type, setup_udp_tunnel_sock(sock_net(sock->sk), sock, &tuncfg); -out_sock: +out_rel_sock: release_sock(sock->sk); +out_sock: sockfd_put(sock); return sk; }