Hi Sasha,
On 03/03/2025 17:29, Sasha Levin wrote:
From: "Matthieu Baerts (NGI0)" matttbe@kernel.org
[ Upstream commit db75a16813aabae3b78c06b1b99f5e314c1f55d3 ]
Recently, some fallback have been initiated, while the connection was not supposed to fallback.
Add a safety check with a warning to detect when an wrong attempt to fallback is being done. This should help detecting any future issues quicker.
Acked-by: Paolo Abeni pabeni@redhat.com Signed-off-by: Matthieu Baerts (NGI0) matttbe@kernel.org Link: https://patch.msgid.link/20250224-net-mptcp-misc-fixes-v1-3-f550f636b435@ker... Signed-off-by: Jakub Kicinski kuba@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org
Thank you for backporting this patch, but is it OK to delay it a bit on v6.13 and older please?
This patch depends on its parent commit, commit 8668860b0ad3 ("mptcp: reset when MPTCP opts are dropped after join"), on kernels >=v5.19, to avoid a WARN().
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index b70a303e08287..7e2f70f22b05b 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -1194,6 +1194,8 @@ static inline void __mptcp_do_fallback(struct mptcp_sock *msk) pr_debug("TCP fallback already done (msk=%p)\n", msk); return; }
- if (WARN_ON_ONCE(!READ_ONCE(msk->allow_infinite_fallback)))
An alternative is to drop the WARN_ON_ONCE() when backporting this to stable, and only keep the condition here:
if (!READ_ONCE(msk->allow_infinite_fallback))
set_bit(MPTCP_FALLBACK_DONE, &msk->flags);return;
}
Cheers, Matt