# \[PATCH AUTOSEL 4.14 6/8\] net: tipc: fix possible refcount leak in tipc\_sk\_create()

- From: Sasha Levin \<sashal@kernel.org\>
- Date: 2022-07-06 15:39:09 
- List: netdev
- Page: https://ratatoskr.run/netdev/2022/07/1849079
- Thread: https://ratatoskr.run/stable/2022/07/1849091/t.md

```text
From: Hangyu Hua <redacted>

[ Upstream commit 00aff3590fc0a73bddd3b743863c14e76fd35c0c ]

Free sk in case tipc_sk_insert() fails.

Signed-off-by: Hangyu Hua <redacted>
Reviewed-by: Tung Nguyen <redacted>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 net/tipc/socket.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 94e74987fe65..40002d2afb8a 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -440,6 +440,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;
 	}
-- 
2.35.1

```
