From: sashiko-bot@kernel.org
To: "Yilin Zhang" <yilinzhang@moonshot.ai>
Cc: mptcp@lists.linux.dev
Subject: Re: [PATCH v3] mptcp: do not use Fast Open on MP_JOIN subflows
Date: Sun, 20 Sep 2026 06:29:06 +0000 [thread overview]
Message-ID: <20260920062907.21C3B1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260920061904.3575780-1-yilinzhang@moonshot.ai>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] mptcp: disabled TCP timestamps on MP_JOIN with TFO due to wrong logic order
--
commit 7c8131d455e6d16e5fa896b1f57ebf371c13798d
Author: Yilin Zhang <yilinzhang@moonshot.ai>
mptcp: do not use Fast Open on MP_JOIN subflows
This commit disables TCP Fast Open on MP_JOIN subflows, as data on a subflow
requires a completed HMAC exchange. It updates the SYN processing path to
fallback to a regular handshake and strips the TFO cookie from MP_JOIN
SYN/ACKs.
> diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
> index f0a6725d2c376..7bf94aea5f681 100644
> --- a/net/mptcp/subflow.c
> +++ b/net/mptcp/subflow.c
> @@ -348,6 +348,10 @@ static void subflow_prep_synack(const struct sock *sk, struct request_sock *req,
> if (foc && foc->len > -1)
> ireq->tstamp_ok = 0;
>
> + /* MP_JOIN cannot use TFO, do not send a cookie in the SYN/ACK */
> + if (foc && mptcp_subflow_rsk(req)->mp_join)
> + foc->len = -1;
> +
[Severity: Medium]
Does this logic order introduce a regression that unnecessarily disables
TCP timestamps on MP_JOIN subflows?
When a client initiates an MP_JOIN connection with a TCP Fast Open cookie
request, the original code in subflow_prep_synack() evaluates
foc && foc->len > -1 and sets ireq->tstamp_ok = 0.
Right after that, the newly added patch logic checks mp_join and sets
foc->len = -1 to reject TFO.
Because the timestamp check happens before the cookie is disabled, the SYN/ACK
is sent without both the TFO cookie and the TCP timestamp. Any remote client
can trigger this by simply adding a TFO option to their MP_JOIN SYN packet.
Could reversing the order of these checks preserve TCP timestamps by causing
the timestamp condition to evaluate to false when foc->len is updated to -1?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260920061904.3575780-1-yilinzhang@moonshot.ai?part=1
next prev parent reply other threads:[~2026-09-20 6:29 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 9:40 [PATCH v2] tcp: fastopen: check rsk_drop_req() in tcp_fastopen_create_child() Yilin Zhang
2026-09-03 10:50 ` MPTCP CI
2026-09-10 8:12 ` Paolo Abeni
2026-09-10 10:13 ` Matthieu Baerts
2026-09-10 12:15 ` Jiayuan Chen
2026-09-10 16:12 ` Matthieu Baerts
2026-09-11 2:25 ` Jiayuan Chen
2026-09-11 6:42 ` Yilin Zhang
2026-09-11 9:33 ` Matthieu Baerts
2026-09-20 6:17 ` [PATCH v3] mptcp: do not use Fast Open on MP_JOIN subflows Yilin Zhang
2026-09-20 6:30 ` sashiko-bot
2026-09-20 7:27 ` MPTCP CI
2026-09-20 6:19 ` Yilin Zhang
2026-09-20 6:29 ` sashiko-bot [this message]
2026-09-20 7:26 ` MPTCP CI
2026-09-21 9:43 ` Matthieu Baerts
2026-09-21 15:55 ` Paolo Abeni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260920062907.21C3B1F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=yilinzhang@moonshot.ai \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.