Message ID | 20230926035300.135096-1-john.fastabend@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | bpf, sockmap complete fixes for avail bytes | expand |
On Mon, Sep 25, 2023 at 08:52 PM -07, John Fastabend wrote: > With e5c6de5fa0258 ("bpf, sockmap: Incorrectly handling copied_seq") we > started fixing the available bytes accounting by moving copied_seq to > where the user actually reads the bytes. > > However we missed handling MSG_PEEK correctly and we need to ensure > that we don't kfree_skb() a skb off the receive_queue when the > copied_seq number is not incremented by user reads for some time. > > v2: drop seq var in tcp_read_skb its no longer necessary per Jakub's > suggestion Credit goes to Simon Horman. > v3: drop tcp_sock as well its also not used anymore. sorry for the extra > noise there. > > John Fastabend (3): > bpf: tcp_read_skb needs to pop skb regardless of seq > bpf: sockmap, do not inc copied_seq when PEEK flag set > bpf: sockmap, add tests for MSG_F_PEEK > > net/ipv4/tcp.c | 10 +--- > net/ipv4/tcp_bpf.c | 4 +- > .../selftests/bpf/prog_tests/sockmap_basic.c | 52 +++++++++++++++++++ > 3 files changed, 57 insertions(+), 9 deletions(-) For the series: Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com>
Hello: This series was applied to bpf/bpf.git (master) by Daniel Borkmann <daniel@iogearbox.net>: On Mon, 25 Sep 2023 20:52:57 -0700 you wrote: > With e5c6de5fa0258 ("bpf, sockmap: Incorrectly handling copied_seq") we > started fixing the available bytes accounting by moving copied_seq to > where the user actually reads the bytes. > > However we missed handling MSG_PEEK correctly and we need to ensure > that we don't kfree_skb() a skb off the receive_queue when the > copied_seq number is not incremented by user reads for some time. > > [...] Here is the summary with links: - [bpf,v3,1/3] bpf: tcp_read_skb needs to pop skb regardless of seq https://git.kernel.org/bpf/bpf/c/9b7177b1df64 - [bpf,v3,2/3] bpf: sockmap, do not inc copied_seq when PEEK flag set https://git.kernel.org/bpf/bpf/c/da9e915eaf5d - [bpf,v3,3/3] bpf: sockmap, add tests for MSG_F_PEEK https://git.kernel.org/bpf/bpf/c/5f405c0c0c46 You are awesome, thank you!