From: Alexei Starovoitov <ast@kernel.org>
These patches fix bugs in sockmap:
patches area
------- ----------------------------------------------------------------
01 recvmsg() after a fault
02-04 the verdict of an sk_msg prog and the return value of sendmsg()
05 the backlog of a stopped psock
06 TCP listeners
07-08 the target of an egress redirect
09 the TCP state in recvmsg()
10-14 corks and the redirect target
15 bpf_msg_push_data() and bpf_msg_pop_data()
8 of the patches are from Chris Mason and Josef Bacik.
Patch 08 changes net/core/stream.c. Patch 09 moves tcp_can_send_ack() from
net/mptcp/protocol.c to include/net/tcp.h. Patches 10 and 15 change the
sk_msg helpers in net/core/filter.c.
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Alexei Starovoitov (7):
bpf, sockmap: Don't let an SK_PASS verdict cover the next message
bpf, sockmap: Subtract all dropped bytes from the return value
net: Leave sk_stream_wait_memory() once the socket is dead
bpf, sockmap: Clear the redirect target before the sk_msg prog runs
bpf, sockmap: Check that the redirected message is the cork
bpf, sockmap: Keep the rest of the cork after a redirect
bpf, sockmap: Clear the end mark of elements added by push and pop
Chris Mason (5):
bpf, sockmap: Give no progs to a TCP listener
bpf, sockmap: Check the target of an egress redirect before each send
bpf, sockmap: Check the TCP state in recvmsg()
bpf, sockmap: Reset the copy position when corking
bpf, sockmap: Don't copy 0 bytes into a full cork
Josef Bacik (3):
bpf, sockmap: Write sg.start when recvmsg() faults
bpf, sockmap: Don't let an SK_DROP verdict stick
bpf, sockmap: Clear the resume state of a stopped psock
Documentation/bpf/map_sockmap.rst | 4 +-
include/linux/skmsg.h | 19 +++++++
include/net/tcp.h | 6 +++
net/core/filter.c | 17 ++-----
net/core/skmsg.c | 13 ++++-
net/core/sock_map.c | 9 ++++
net/core/stream.c | 6 ++-
net/ipv4/tcp_bpf.c | 85 +++++++++++++++++++++++++++----
net/mptcp/protocol.c | 6 ---
9 files changed, 133 insertions(+), 32 deletions(-)
base-commit: 5b96632457e4ccae88ecb751cf48176b2e3629a7
--
2.55.0