Re: [PATCH net v2 01/15] mptcp: do not reschedule the RTX timer for fallback sockets
From: Paolo Abeni
Date: Wed Sep 09 2026 - 14:12:14 EST
On 9/9/26 4:49 PM, netdev-bot+sashiko@xxxxxxxxxx wrote:
>> @@ -4141,6 +4146,7 @@ static int mptcp_connect(struct sock *sk,
struct sockaddr_unsized *uaddr,
>> if (IS_ERR(ssk))
>> return PTR_ERR(ssk);
>>
>> + set_bit(MPTCP_RTX_ENABLED, &msk->flags);
>> mptcp_set_state(sk, TCP_SYN_SENT);
>> subflow = mptcp_subflow_ctx(ssk);
>
> [Severity: Medium]
> Can this set_bit() re-enable the RTX timer on a msk that is already in
> fallback? It runs unconditionally, before any of the fallback checks
> below it, and the fallback state is sticky across a failed connect().
This is an unrelated/different issue: when (mptcp_)connect() fails early
it returns a TCP_CLOSE/SS_DISCONNECTED socket but the status is not
fully cleared. Should be handled with a follow-up/unrelated series
> Would gating the set_bit() on !__mptcp_check_fallback(msk), or moving
> it below the early-fallback checks, close this case and also make the
> new comment "Prevent rescheduling on close and in case of fallback"
> hold for a msk whose fallback predates the current connect()?
FTR, I can be low of coffee, but the above suggestion is crazy wrong.
/P