Thread (30 messages) flat view 30 messages, 4 authors, 12d ago

Re: [PATCH net v2 01/15] mptcp: do not reschedule the RTX timer for fallback sockets

From: Paolo Abeni <pabeni@redhat.com>
Date: 2026-09-09 15:32:26
Also in: lkml, mptcp, stable

On 9/9/26 4:49 PM, netdev-bot+sashiko@kernel.org wrote:
quoted
@@ -4141,6 +4146,7 @@ static int mptcp_connect(struct sock *sk,
struct sockaddr_unsized *uaddr,
quoted
 	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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help