mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 15:34:48 +08:00
Merge branch 'mptcp-new-reviewer-and-prevent-a-warning'
Matthieu Baerts says: ==================== mptcp: new reviewer and prevent a warning Patch 1 adds MPTCP long time contributor -- Geliang Tang -- as a new reviewer for the project. Thanks! Patch 2 prevents a warning when TCP Diag is used to close internal MPTCP listener subflows. This is a correction for a patch introduced in v6.4 which was fixing an issue from v5.17. ==================== Link: https://lore.kernel.org/r/20231226-upstream-net-20231226-mptcp-prevent-warn-v1-0-1404dcc431ea@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
d5a13915ae
@ -15077,6 +15077,7 @@ K: \bmdo_
|
||||
NETWORKING [MPTCP]
|
||||
M: Matthieu Baerts <matttbe@kernel.org>
|
||||
M: Mat Martineau <martineau@kernel.org>
|
||||
R: Geliang Tang <geliang.tang@linux.dev>
|
||||
L: netdev@vger.kernel.org
|
||||
L: mptcp@lists.linux.dev
|
||||
S: Maintained
|
||||
|
@ -1982,6 +1982,17 @@ static void tcp_release_cb_override(struct sock *ssk)
|
||||
tcp_release_cb(ssk);
|
||||
}
|
||||
|
||||
static int tcp_abort_override(struct sock *ssk, int err)
|
||||
{
|
||||
/* closing a listener subflow requires a great deal of care.
|
||||
* keep it simple and just prevent such operation
|
||||
*/
|
||||
if (inet_sk_state_load(ssk) == TCP_LISTEN)
|
||||
return -EINVAL;
|
||||
|
||||
return tcp_abort(ssk, err);
|
||||
}
|
||||
|
||||
static struct tcp_ulp_ops subflow_ulp_ops __read_mostly = {
|
||||
.name = "mptcp",
|
||||
.owner = THIS_MODULE,
|
||||
@ -2026,6 +2037,7 @@ void __init mptcp_subflow_init(void)
|
||||
|
||||
tcp_prot_override = tcp_prot;
|
||||
tcp_prot_override.release_cb = tcp_release_cb_override;
|
||||
tcp_prot_override.diag_destroy = tcp_abort_override;
|
||||
|
||||
#if IS_ENABLED(CONFIG_MPTCP_IPV6)
|
||||
/* In struct mptcp_subflow_request_sock, we assume the TCP request sock
|
||||
@ -2061,6 +2073,7 @@ void __init mptcp_subflow_init(void)
|
||||
|
||||
tcpv6_prot_override = tcpv6_prot;
|
||||
tcpv6_prot_override.release_cb = tcp_release_cb_override;
|
||||
tcpv6_prot_override.diag_destroy = tcp_abort_override;
|
||||
#endif
|
||||
|
||||
mptcp_diag_subflow_init(&subflow_ulp_ops);
|
||||
|
Loading…
Reference in New Issue
Block a user