From: Cong Wang <cong.wang@xxxxxxxxxxxxx> This patchset contains a few bug fixes and improvements for sock_map. Patch 1 improves recvmsg() accuracy for UDP, patch 2 improves UDP non-blocking read() by retrying on EAGAIN. With both of them, the failure rate of the UDP test case goes down from 10% to 1%. Patch 3 is memory leak fix I posted, no change since v1. The rest patches address similar memory leaks or improve error handling, including one increases sk_drops counter for error cases. Please check each patch description for more details. Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> --- Resend this patchset as it is lost after John's review. v3: add another bug fix as patch 4 update patch 5 accordingly address John's review on the last patch fix a few typos in patch descriptions v2: group all patches together set max for retries of EAGAIN Cong Wang (8): skmsg: improve udp_bpf_recvmsg() accuracy selftests/bpf: Retry for EAGAIN in udp_redir_to_connected() udp: fix a memory leak in udp_read_sock() skmsg: clear skb redirect pointer before dropping it skmsg: fix a memory leak in sk_psock_verdict_apply() skmsg: teach sk_psock_verdict_apply() to return errors skmsg: pass source psock to sk_psock_skb_redirect() skmsg: increase sk->sk_drops when dropping packets include/linux/skmsg.h | 2 - net/core/skmsg.c | 82 +++++++++---------- net/ipv4/tcp_bpf.c | 24 +++++- net/ipv4/udp.c | 2 + net/ipv4/udp_bpf.c | 47 +++++++++-- .../selftests/bpf/prog_tests/sockmap_listen.c | 7 +- 6 files changed, 112 insertions(+), 52 deletions(-) -- 2.25.1