On Fri, Apr 25, 2025 at 01:59:57PM +0800, Jiayuan Chen wrote: > When we specify apply_bytes, we divide the msg into multiple segments, > each with a length of 'send', and every time we send this part of the data > using tcp_bpf_sendmsg_redir(), we use sk_msg_return_zero() to uncharge the > memory of the specified 'send' size. > > However, if the first segment of data fails to send, for example, the > peer's buffer is full, we need to release all of the msg. When releasing > the msg, we haven't uncharged the memory of the subsequent segments. > > This modification does not make significant logical changes, but only > fills in the missing uncharge places. > > This issue has existed all along, until it was exposed after we added the > apply test in test_sockmap: > commit 3448ad23b34e ("selftests/bpf: Add apply_bytes test to > test_txmsg_redir_wait_sndmem in test_sockmap") > > Reported-by: Cong Wang <xiyou.wangc...@gmail.com>
Reviewed-by: Cong Wang <xiyou.wangc...@gmail.com> Thanks!