[PATCH mptcp-next v3 0/7] mptcp: add bpf_setsockopt support
Gang Yan <[email protected]> Mon, 27 Jul 2026 10:28:42 +0800
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <[email protected]> |
From: Gang Yan <[email protected]> Hi, Matt, Geliang, Paolo Patch 3-4 have been reviewed by Paolo before, and ready for merge [1][2]. Changelog: v3: - Patch 2 keeps the mptcp_setsockopt_all_sf as Geliang suggested. v2: - Patches 1 and 2 are new in this series; they address TCP_MAXSEG handling in the bpf_setsockopt() path. - Patch 4 adds an early return to fix msk->sk_rcvlowat being unexpectedly modified, an issue seen in v1. - Patch 5 makes the hook safe for the non-tcp master socket: it guards bpf_sock_ops_cb_flags_set() with sk_is_tcp() to prevent out-of-bounds heap reads/writes through tcp_sk(sk)->bpf_sock_ops_cb_flags, and does not set is_locked_tcp_sock for the msk (unlike tcp_call_bpf()). That flag authorizes the verifier's direct tcp_sock-offset field accesses; since the msk is not a tcp_sock, leaving it at the default 0 is safe. v1: Link: https://patchwork.kernel.org/project/mptcp/cover/[email protected]/ [1] https://patchwork.kernel.org/project/mptcp/patch/[email protected]/ [2] https://patchwork.kernel.org/project/mptcp/patch/[email protected]/ Gang Yan (7): mptcp: drop unused @max arg of __mptcp_setsockopt_set_val mptcp: take TCP_MAXSEG handling into __mptcp_setsockopt_set_val mptcp: use sockopt_lock/release_sock in sockopt mptcp: reject sockopt requiring ssks' lock in BPF context mptcp: enable bpf_setsockopt on the master socket mptcp: add TCP_CONNECT_CB sock_ops hook selftests: bpf: verify mptcp bpf_setsockopt from TCP_CONNECT_CB include/net/mptcp.h | 9 ++ net/core/filter.c | 10 ++ net/ipv4/tcp.c | 1 + net/mptcp/protocol.c | 6 + net/mptcp/protocol.h | 29 ++++ net/mptcp/sockopt.c | 127 +++++++++++------- .../testing/selftests/bpf/prog_tests/mptcp.c | 61 +++++++++ .../selftests/bpf/progs/mptcp_setsockopt.c | 32 +++++ 8 files changed, 223 insertions(+), 52 deletions(-) create mode 100644 tools/testing/selftests/bpf/progs/mptcp_setsockopt.c -- 2.43.0