Message ID | 20220629063418.21620-1-hbh25y@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 00aff3590fc0a73bddd3b743863c14e76fd35c0c |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2] net: tipc: fix possible refcount leak in tipc_sk_create() | expand |
> Subject: [PATCH v2] net: tipc: fix possible refcount leak in tipc_sk_create() > > Free sk in case tipc_sk_insert() fails. > > Signed-off-by: Hangyu Hua <hbh25y@gmail.com> > --- > > v2: use a succinct commit log. > > net/tipc/socket.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/tipc/socket.c b/net/tipc/socket.c > index 17f8c523e33b..43509c7e90fc 100644 > --- a/net/tipc/socket.c > +++ b/net/tipc/socket.c > @@ -502,6 +502,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.25.1 Reviewed-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Hello: This patch was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Wed, 29 Jun 2022 14:34:18 +0800 you wrote: > Free sk in case tipc_sk_insert() fails. > > Signed-off-by: Hangyu Hua <hbh25y@gmail.com> > --- > > v2: use a succinct commit log. > > [...] Here is the summary with links: - [v2] net: tipc: fix possible refcount leak in tipc_sk_create() https://git.kernel.org/netdev/net/c/00aff3590fc0 You are awesome, thank you!
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 17f8c523e33b..43509c7e90fc 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -502,6 +502,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; }
Free sk in case tipc_sk_insert() fails. Signed-off-by: Hangyu Hua <hbh25y@gmail.com> --- v2: use a succinct commit log. net/tipc/socket.c | 1 + 1 file changed, 1 insertion(+)