Re: [PATCH net] net: fix memory leak in tcp_conn_request()
From: patchwork-bot+netdevbpf
Date: Mon Dec 23 2024 - 13:10:28 EST
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@xxxxxxxxxx>:
On Thu, 19 Dec 2024 15:28:59 +0800 you wrote:
> If inet_csk_reqsk_queue_hash_add() return false, tcp_conn_request() will
> return without free the dst memory, which allocated in af_ops->route_req.
>
> Here is the kmemleak stack:
>
> unreferenced object 0xffff8881198631c0 (size 240):
> comm "softirq", pid 0, jiffies 4299266571 (age 1802.392s)
> hex dump (first 32 bytes):
> 00 10 9b 03 81 88 ff ff 80 98 da bc ff ff ff ff ................
> 81 55 18 bb ff ff ff ff 00 00 00 00 00 00 00 00 .U..............
> backtrace:
> [<ffffffffb93e8d4c>] kmem_cache_alloc+0x60c/0xa80
> [<ffffffffba11b4c5>] dst_alloc+0x55/0x250
> [<ffffffffba227bf6>] rt_dst_alloc+0x46/0x1d0
> [<ffffffffba23050a>] __mkroute_output+0x29a/0xa50
> [<ffffffffba23456b>] ip_route_output_key_hash+0x10b/0x240
> [<ffffffffba2346bd>] ip_route_output_flow+0x1d/0x90
> [<ffffffffba254855>] inet_csk_route_req+0x2c5/0x500
> [<ffffffffba26b331>] tcp_conn_request+0x691/0x12c0
> [<ffffffffba27bd08>] tcp_rcv_state_process+0x3c8/0x11b0
> [<ffffffffba2965c6>] tcp_v4_do_rcv+0x156/0x3b0
> [<ffffffffba299c98>] tcp_v4_rcv+0x1cf8/0x1d80
> [<ffffffffba239656>] ip_protocol_deliver_rcu+0xf6/0x360
> [<ffffffffba2399a6>] ip_local_deliver_finish+0xe6/0x1e0
> [<ffffffffba239b8e>] ip_local_deliver+0xee/0x360
> [<ffffffffba239ead>] ip_rcv+0xad/0x2f0
> [<ffffffffba110943>] __netif_receive_skb_one_core+0x123/0x140
>
> [...]
Here is the summary with links:
- [net] net: fix memory leak in tcp_conn_request()
https://git.kernel.org/netdev/net/c/4f4aa4aa2814
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html