From: Matthieu Baerts <matttbe@kernel.org>
To: Tao Cui <cui.tao@linux.dev>, mptcp@lists.linux.dev
Cc: geliang@kernel.org, cuitao@kylinos.cn,
Quanye Yang <quanyeyang@proton.me>
Subject: Re: [PATCH mptcp-next 1/2] mptcp: pm: bound extra_subflows admission on userspace PM
Date: Thu, 3 Sep 2026 11:13:45 +0200 [thread overview]
Message-ID: <549d6a7d-3b89-4eff-a35f-065df75e8d01@kernel.org> (raw)
In-Reply-To: <801d048f-70a3-4b42-8a09-7b81f46d9a22@linux.dev>
Hi Tao,
Thank you for your reply!
On 03/09/2026 10:55, Tao Cui wrote:
> Hi Matt,
>
> 在 2026/9/3 00:39, Matthieu Baerts 写道:
>> Hi Tao,
>>
>> + cc Quanye
>>
>> On 31/08/2026 11:32, Tao Cui wrote:
>>> From: Tao Cui <cuitao@kylinos.cn>
>>>
>>> mptcp_pm_allow_new_subflow() increments the u8 extra_subflows counter
>>> for every accepted MP_JOIN on sockets using the userspace PM, without
>>> any limit. A peer establishing more than 255 live subflows wraps the
>>> counter back to 0, which then makes the underflow guards warn on the
>>> next subflow close, and permanently corrupts mptcpi_subflows_total
>>> reported to userspace.
>>>
>>> Refuse new MP_JOINs once the counter has reached U8_MAX, so that it
>>> cannot wrap anymore.
>>>
>>> Fixes: e99c1ca89071 ("mptcp: pm: add WARN_ON_ONCE guards on extra_subflows underflow")
>>> Link: https://github.com/multipath-tcp/mptcp_net-next/issues/629
>>
>> Do you have a GitHub account? Just to know if we can assign this task to
>> you (or just leave a message in the comment section).
>>
>>> Signed-off-by: Tao Cui <cuitao@kylinos.cn>
>>> ---
>>> net/mptcp/pm.c | 11 +++++++++--
>>> 1 file changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c
>>> index 8b68868255c5..3990f6775723 100644
>>> --- a/net/mptcp/pm.c
>>> +++ b/net/mptcp/pm.c
>>> @@ -562,10 +562,17 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk)
>>>
>>> if (mptcp_pm_is_userspace(msk)) {
>>> if (mptcp_userspace_pm_active(msk)) {
>>> + bool allow;
>>
>> "ret" could be re-used here.
>>
>>> +
>>> + /* extra_subflows is a u8: don't let a peer wrap it
>>> + * with more than U8_MAX accepted MP_JOINs
>>> + */
>>
>> I don't think this comment is needed, "< U8_MAX" is probably clear enough.
>>
>>> spin_lock_bh(&pm->lock);
>>> - pm->extra_subflows++;
>>> + allow = pm->extra_subflows < U8_MAX;
>>> + if (allow)
>>> + pm->extra_subflows++;
>>> spin_unlock_bh(&pm->lock);
>>> - return true;
>>> + return allow;
>>> }
>>> return false;
>>> }
>>
>> So, at the end, we can re-used the same version as Quanye. Would it be
>> OK for both of you to have a Co-developed-by tag here?
>>
>
> Thanks for sorting this out with Quanye.
>
> Sounds good to me. I'll send a v2 taking your two comments into
> account, reusing "ret" and dropping the comment, with Quanye's
> Netlink part as a separate patch with him as author, and
> Co-developed-by tags on the admission patch. I'll switch to
> "Closes:" for the issue as well.
Thanks! Please use "Closes" only for the last patch of the series fixing
the issue. You can use "Link" for the others.
> About the GitHub account: I have one (sharkct235@gmail.com) but
> honestly I don't use it much because of the captcha checks, so
> sorry in advance if I'm slow to react there. I've left a comment on
> the issue, and I'll try to be better at watching it for this kind
> of thing.
Thanks! I guess there shouldn't be new comments over there, but we
appreciate comments simply saying "I'm going to look at it".
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
next prev parent reply other threads:[~2026-09-03 9:13 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 9:32 [PATCH mptcp-next 0/2] mptcp: pm: fix reachable extra_subflows guards Tao Cui
2026-08-31 9:32 ` [PATCH mptcp-next 1/2] mptcp: pm: bound extra_subflows admission on userspace PM Tao Cui
2026-09-02 16:39 ` Matthieu Baerts
2026-09-03 3:42 ` quanyeyang
2026-09-03 8:57 ` Tao Cui
2026-09-03 8:55 ` Tao Cui
2026-09-03 9:13 ` Matthieu Baerts [this message]
2026-08-31 9:32 ` [PATCH mptcp-next 2/2] mptcp: pm: skip extra_subflows accounting on disconnected msk Tao Cui
2026-08-31 10:11 ` sashiko-bot
2026-08-31 13:00 ` Tao Cui
2026-09-02 16:32 ` Matthieu Baerts
2026-09-02 16:56 ` Matthieu Baerts
2026-08-31 10:25 ` [PATCH mptcp-next 0/2] mptcp: pm: fix reachable extra_subflows guards MPTCP CI
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=549d6a7d-3b89-4eff-a35f-065df75e8d01@kernel.org \
--to=matttbe@kernel.org \
--cc=cui.tao@linux.dev \
--cc=cuitao@kylinos.cn \
--cc=geliang@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=quanyeyang@proton.me \
/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.