]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: tipc: fix possible refcount leak in tipc_sk_create()
authorHangyu Hua <hbh25y@gmail.com>
Wed, 29 Jun 2022 06:34:18 +0000 (14:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Jul 2022 18:59:25 +0000 (20:59 +0200)
[ Upstream commit 2cb4344dcbc0a3255b1894a5cacfb942949c563c ]

Free sk in case tipc_sk_insert() fails.

Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
Reviewed-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/tipc/socket.c

index d543c4556df20e710bc0ce3d5e97b9ef5eab42e4..58c4d61d603f609ae95e3733667684f8decda648 100644 (file)
@@ -455,6 +455,7 @@ static int tipc_sk_create(struct net *net, struct socket *sock,
        sock_init_data(sock, sk);
        tipc_set_sk_state(sk, TIPC_OPEN);
        if (tipc_sk_insert(tsk)) {
+               sk_free(sk);
                pr_warn("Socket create failed; port number exhausted\n");
                return -EINVAL;
        }