[PATCH mptcp-next v2 2/7] mptcp: take TCP_MAXSEG handling into __mptcp_setsockopt_set_val
Gang Yan <[email protected]> Tue, 21 Jul 2026 10:40:57 +0800
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <11304a8f1ec63390553390404d9164f7a4213b79.1784601268.git.yangang@kylinos.cn> |
From: Gang Yan <[email protected]> mptcp_setsockopt_all_sf is only used in 'TCP_MAXSEG', and it can be replaced with __mptcp_setsockopt_set_val. Signed-off-by: Gang Yan <[email protected]> --- net/ipv4/tcp.c | 1 + net/mptcp/sockopt.c | 27 ++------------------------- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index b427f924608c..5915d0e62f43 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -3830,6 +3830,7 @@ int tcp_sock_set_maxseg(struct sock *sk, int val) WRITE_ONCE(tcp_sk(sk)->rx_opt.user_mss, val); return 0; } +EXPORT_SYMBOL(tcp_sock_set_maxseg); /* * Socket option code for TCP. diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index 9c4faa0d82ef..3e000436ab94 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -808,28 +808,6 @@ static int mptcp_setsockopt_first_sf_only(struct mptcp_sock *msk, int level, int return ret; } -static int mptcp_setsockopt_all_sf(struct mptcp_sock *msk, int level, - int optname, sockptr_t optval, - unsigned int optlen) -{ - struct mptcp_subflow_context *subflow; - int ret = 0; - - mptcp_for_each_subflow(msk, subflow) { - struct sock *ssk = mptcp_subflow_tcp_sock(subflow); - int err; - - err = tcp_setsockopt(ssk, level, optname, optval, optlen); - if (err < 0 && ret == 0) - ret = err; - } - - if (!ret) - sockopt_seq_inc(msk); - - return ret; -} - static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int optname, sockptr_t optval, unsigned int optlen) { @@ -889,9 +867,8 @@ static int mptcp_setsockopt_sol_tcp(struct mptcp_sock *msk, int optname, val); break; case TCP_MAXSEG: - msk->maxseg = val; - ret = mptcp_setsockopt_all_sf(msk, SOL_TCP, optname, optval, - optlen); + ret = __mptcp_setsockopt_set_val(msk, &tcp_sock_set_maxseg, + &msk->maxseg, val); break; default: ret = -ENOPROTOOPT; -- 2.43.0