From nobody Wed Sep 17 16:19:26 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2EB982D97BB; Fri, 22 Aug 2025 14:11:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755871877; cv=none; b=bizHLHSt8jGp5Ja9xGvBFXnaKfJr9Kh9G4HzH/j7dGvv/bGcClNaVHUgcS2PxgmgvUaqVREP4HflDBRcOAB3KCheuiD1hnW4aHfQK0p2hgPnbgUSghVj8vVwGiX9h4dCO9eZRHOZg+qFLxhvbKrG+eW4ALUXdmk319wbD+Fws08= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755871877; c=relaxed/simple; bh=qgu3i3ySf6YZE57AVL8b54jNjSeonxTOp3C/cdM28NU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YMEmkPPw9taniVY2RWNK2sBopbNOPBGB/cjV3DTF1SXUqgiJYAq1NfbLn+UWsHvs7Z3LptGFmKhOEeCtwKa3E79+XKzeb7LyprWG8hUvh6aMWW9DMEAApFOs8+CsLhCjb9ft7jmyWODkHaGWErexL+UZKPHtDqACDww1R6l50zU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Sg0PeKCY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Sg0PeKCY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3FF3EC113CF; Fri, 22 Aug 2025 14:11:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755871876; bh=qgu3i3ySf6YZE57AVL8b54jNjSeonxTOp3C/cdM28NU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Sg0PeKCYnJk2oQxPsRDUIS7c1LGRvvvUf40OB6ZXrJNE8qHcQSC7UfNGV4NngMfwn ePnEHJLJMdYVMN/Swxnb76PHMn094HRnOZTF+sYnGIYUYL8h2OcSR8y+wdaU2G1PZh k9At5p4rDa0SosNyaJGNQYH6+qaWycrfGpPGLVN76p9ndndvXTuNZn+97U+6pab5gi fRx5JsIbHAEWzSpuGY95KLIXpckfEI9ZwMvaVk8/V4Raj+8RfzLt7yKKvogUK1RRuO lIFksB28AUrAyECIuOzuMIjuBgm/JxFU7SpOc8lYYmo8uXe+w3ijUbmpNx8R5aekei tKxbdoHFmkxoQ== From: "Matthieu Baerts (NGI0)" To: mptcp@lists.linux.dev, stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: Geliang Tang , sashal@kernel.org, "Matthieu Baerts (NGI0)" , Jakub Kicinski Subject: [PATCH 6.6.y 1/3] mptcp: remove duplicate sk_reset_timer call Date: Fri, 22 Aug 2025 16:11:01 +0200 Message-ID: <20250822141059.48927-6-matttbe@kernel.org> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250822141059.48927-5-matttbe@kernel.org> References: <20250822141059.48927-5-matttbe@kernel.org> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1915; i=matttbe@kernel.org; h=from:subject; bh=bXVzIBqtkjRoTUiVOcrn+zcShae8fQYgX0XQi5IZ3AY=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDJWVJX+31cc0cEi4loUHBUQvbeWXSjd37xvYZi479fG1 1qt6h87SlkYxLgYZMUUWaTbIvNnPq/iLfHys4CZw8oEMoSBi1MAJlJ4jJFhxrGLspIFom/8zmdJ ZazPLUs1ibUvswu8pSxwxcpotfY2RoZ/7xccUj9pzukSPP+JtvFrI6W86Qeeb1Jh2rNfLWZHfCA XAA== X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang commit 5d13349472ac8abcbcb94407969aa0fdc2e1f1be upstream. sk_reset_timer() was called twice in mptcp_pm_alloc_anno_list. Simplify the code by using a 'goto' statement to eliminate the duplication. Note that this is not a fix, but it will help backporting the following patch. The same "Fixes" tag has been added for this reason. Fixes: 93f323b9cccc ("mptcp: add a new sysctl add_addr_timeout") Cc: stable@vger.kernel.org Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts (NGI0) Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20250815-net-mptcp-misc-fixes-6-17-rc2-v1-4-= 521fe9957892@kernel.org Signed-off-by: Jakub Kicinski [ Before commit e4c28e3d5c09 ("mptcp: pm: move generic PM helpers to pm.c"), mptcp_pm_alloc_anno_list() was in pm_netlink.c. The same patch can be applied there without conflicts. ] Signed-off-by: Matthieu Baerts (NGI0) --- net/mptcp/pm_netlink.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 6ffe6fdb1324..19c07033e6fa 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -373,9 +373,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, if (WARN_ON_ONCE(mptcp_pm_is_kernel(msk))) return false; =20 - sk_reset_timer(sk, &add_entry->add_timer, - jiffies + mptcp_get_add_addr_timeout(net)); - return true; + goto reset_timer; } =20 add_entry =3D kmalloc(sizeof(*add_entry), GFP_ATOMIC); @@ -389,6 +387,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, add_entry->retrans_times =3D 0; =20 timer_setup(&add_entry->add_timer, mptcp_pm_add_timer, 0); +reset_timer: sk_reset_timer(sk, &add_entry->add_timer, jiffies + mptcp_get_add_addr_timeout(net)); =20 --=20 2.50.0 From nobody Wed Sep 17 16:19:26 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A95602FF164; Fri, 22 Aug 2025 14:11:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755871878; cv=none; b=ttbWP9GTB+hwQl2y7ITtNmmgXEG7M93247AsOTsKSRrifH0JZev+az7mzG7zc7iwh/ZeGF4V3g0uZZxHsKWq4Zds1W+9x/AN15D6iSPgaumjleYxUakWLFglGk/Fv5/ikKQ+U421AkvgwWoe9PXKg7QHF6GAuafvmi4qITLdYjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755871878; c=relaxed/simple; bh=Ot1RVEKYlx9r+8NCw65RIopQDCCPBsCsFzU9yDTd+to=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WCvN4E1IGxqcewYo63e1OOp/q9fdrOgOjQHs6UV3Fmmda3XGCx3UVTVX3jgx8T+WYcsT+L+8MAX/tkEMgCHU1cSQeCxBvERYdy5IvSp40qudm5ftfqIHOVzUSIWMc0WGmGLs/5kyiEvAx7pVQmWq5xrM08WTOyM23bhnkZUjmg8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZJU5Hm9/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZJU5Hm9/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EDEFC4CEED; Fri, 22 Aug 2025 14:11:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755871878; bh=Ot1RVEKYlx9r+8NCw65RIopQDCCPBsCsFzU9yDTd+to=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZJU5Hm9/mL7HfQ2OhZn6Mh6DVCUG94Dydn0O2AvXSN058dsKHBTrB+DWT9sd5G7rt LPegT0BTFlJm7Ujb+PTrWA+XryFDKLTZcF9itBM/OY9ftsRIQpE18v1t8jWGEuDVa6 1DwteINA96ImR6WscxYKqvYfErFmn1DbAKwg8X3vALt0j+vj/lfuFR+83CwWMyCDoA aOmh6xYM2VBY4QjfpqkIslHQTF4dvVCYSsXxxilOYVlN4FDRxiD9QhRIh+J7vHRsH1 Jf5hbySkSX280Z2ZX3tWrugeqnUEBBAa8E0lDbymHPrR1qsza8OL2D17uf6CTYkB7/ FPQ6c22sFjFqQ== From: "Matthieu Baerts (NGI0)" To: mptcp@lists.linux.dev, stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: Geliang Tang , sashal@kernel.org, Matthieu Baerts , Jakub Kicinski Subject: [PATCH 6.6.y 2/3] mptcp: disable add_addr retransmission when timeout is 0 Date: Fri, 22 Aug 2025 16:11:02 +0200 Message-ID: <20250822141059.48927-7-matttbe@kernel.org> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250822141059.48927-5-matttbe@kernel.org> References: <20250822141059.48927-5-matttbe@kernel.org> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3467; i=matttbe@kernel.org; h=from:subject; bh=lLXtdcKyHjBZJd+jfTtWLmZzxTvwgAI4EwxnzVKnMHQ=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDJWVJVtn/p268xTnKFP7mre+1TumZj3Wzb5ReoEno2dx xe+ub81vKOUhUGMi0FWTJFFui0yf+bzKt4SLz8LmDmsTCBDGLg4BWAiq5YwMixf0rfgHt8p5klL fi08fP8/16OTpeKBxe8v2i/7oF2+WK2Q4b/TxxcVWY/vs1drRj7O9WM+sYiz6WdOKUNMwGVLeZf pbzgA X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geliang Tang commit f5ce0714623cffd00bf2a83e890d09c609b7f50a upstream. When add_addr_timeout was set to 0, this caused the ADD_ADDR to be retransmitted immediately, which looks like a buggy behaviour. Instead, interpret 0 as "no retransmissions needed". The documentation is updated to explicitly state that setting the timeout to 0 disables retransmission. Fixes: 93f323b9cccc ("mptcp: add a new sysctl add_addr_timeout") Cc: stable@vger.kernel.org Suggested-by: Matthieu Baerts Signed-off-by: Geliang Tang Reviewed-by: Matthieu Baerts (NGI0) Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20250815-net-mptcp-misc-fixes-6-17-rc2-v1-5-= 521fe9957892@kernel.org Signed-off-by: Jakub Kicinski [ Before commit e4c28e3d5c09 ("mptcp: pm: move generic PM helpers to pm.c"), mptcp_pm_alloc_anno_list() was in pm_netlink.c. The same patch can be applied there without conflicts. ] Signed-off-by: Matthieu Baerts (NGI0) --- Documentation/networking/mptcp-sysctl.rst | 2 ++ net/mptcp/pm_netlink.c | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Documentation/networking/mptcp-sysctl.rst b/Documentation/netw= orking/mptcp-sysctl.rst index 15f1919d640c..b797f3dd4b69 100644 --- a/Documentation/networking/mptcp-sysctl.rst +++ b/Documentation/networking/mptcp-sysctl.rst @@ -20,6 +20,8 @@ add_addr_timeout - INTEGER (seconds) resent to an MPTCP peer that has not acknowledged a previous ADD_ADDR message. =20 + Do not retransmit if set to 0. + The default value matches TCP_RTO_MAX. This is a per-namespace sysctl. =20 diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 19c07033e6fa..e8042014bd5f 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -294,6 +294,7 @@ static void mptcp_pm_add_timer(struct timer_list *timer) struct mptcp_pm_add_entry *entry =3D from_timer(entry, timer, add_timer); struct mptcp_sock *msk =3D entry->sock; struct sock *sk =3D (struct sock *)msk; + unsigned int timeout; =20 pr_debug("msk=3D%p\n", msk); =20 @@ -311,6 +312,10 @@ static void mptcp_pm_add_timer(struct timer_list *time= r) goto out; } =20 + timeout =3D mptcp_get_add_addr_timeout(sock_net(sk)); + if (!timeout) + goto out; + spin_lock_bh(&msk->pm.lock); =20 if (!mptcp_pm_should_add_signal_addr(msk)) { @@ -322,7 +327,7 @@ static void mptcp_pm_add_timer(struct timer_list *timer) =20 if (entry->retrans_times < ADD_ADDR_RETRANS_MAX) sk_reset_timer(sk, timer, - jiffies + mptcp_get_add_addr_timeout(sock_net(sk))); + jiffies + timeout); =20 spin_unlock_bh(&msk->pm.lock); =20 @@ -364,6 +369,7 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, struct mptcp_pm_add_entry *add_entry =3D NULL; struct sock *sk =3D (struct sock *)msk; struct net *net =3D sock_net(sk); + unsigned int timeout; =20 lockdep_assert_held(&msk->pm.lock); =20 @@ -388,8 +394,9 @@ bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, =20 timer_setup(&add_entry->add_timer, mptcp_pm_add_timer, 0); reset_timer: - sk_reset_timer(sk, &add_entry->add_timer, - jiffies + mptcp_get_add_addr_timeout(net)); + timeout =3D mptcp_get_add_addr_timeout(net); + if (timeout) + sk_reset_timer(sk, &add_entry->add_timer, jiffies + timeout); =20 return true; } --=20 2.50.0 From nobody Wed Sep 17 16:19:26 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3D912FF17D; Fri, 22 Aug 2025 14:11:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755871880; cv=none; b=J1xIqC8QvdGuJEnirh9iij1QFl9FQdXxQVQRXRoBKUoFuwPtP1wviIkNoOJQ7WB7zVrqal/QQ5mybE6iJrsulyjoaqD0ulgUB79znynfODfcV0srRT5QqxqRNPdRT824+NWCDHfGTZTxjFHkEgPxLZ1jsfGgQRZg3E+MirVjPx0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755871880; c=relaxed/simple; bh=FFMMERj0qQlRbjWXircV2NLy1dGM0N8IP4sm/8waveg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qsEuQzgtEaLX5CgJZ2+BK54n7GlXLaldHfy4LZyEOFv1FRYav1/M/uG0Twm3ymbeiZgDV1ouB1X4iGQLRFaLLuEH5bCZW28k9ilPAlyQMMSmUOhkGLTjBfhPjRXWOKyJrckMkqNU5blB0j+pUjv6CPurnPkME7Ohwb4FBxxJVc0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mzFmiV80; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mzFmiV80" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1392C4AF0D; Fri, 22 Aug 2025 14:11:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755871880; bh=FFMMERj0qQlRbjWXircV2NLy1dGM0N8IP4sm/8waveg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mzFmiV80D4rHKjdVy/i4FE1u8ZfTEVvylnB94CaHRLjkcrEFBD9/efey/OX5qmOza oqBJWtsGlWjJ3wkf+N/qEgppAaVHQY3Xzb/rsQY2ZndXvOm64TCqd0lMigCMmW7UJw KOaojWTD1GfD+bPqKDc1CCVa460srvNex1JjHAQsntRM8XPCiOmNy28IzU+oJk45WZ 8mT9MjkW8fD1FpyRIOhW/Q322Ii8SpZc+TIik8nVF7sOgIGjQQrmTksRu/n++03EYd urRO/aMKXqansMvCjZ6qavM0L6oJG8rFRbs1kFqGfJw4Yu++9dq+SL4iazdOlMlRf5 ux7iAN3W1H5Hw== From: "Matthieu Baerts (NGI0)" To: mptcp@lists.linux.dev, stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: "Matthieu Baerts (NGI0)" , sashal@kernel.org, Mat Martineau , Jakub Kicinski Subject: [PATCH 6.6.y 3/3] selftests: mptcp: pm: check flush doesn't reset limits Date: Fri, 22 Aug 2025 16:11:03 +0200 Message-ID: <20250822141059.48927-8-matttbe@kernel.org> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250822141059.48927-5-matttbe@kernel.org> References: <20250822141059.48927-5-matttbe@kernel.org> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2001; i=matttbe@kernel.org; h=from:subject; bh=FFMMERj0qQlRbjWXircV2NLy1dGM0N8IP4sm/8waveg=; b=owGbwMvMwCVWo/Th0Gd3rumMp9WSGDJWVFVEeUoWXLcrq1rKJXPuwNnGp88cjvyu6FgdudL+m ozowT//O0pZGMS4GGTFFFmk2yLzZz6v4i3x8rOAmcPKBDKEgYtTACZyIYSR4fS0rN+H3v/L4Ujh veSSutU6xd9Vu1z4/QqxQM2OyGXnZjAyLP833/p209+lKlerIhY+m+USK6e74P4Rz5sWRZY/d99 fxAAA X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" commit 452690be7de2f91cc0de68cb9e95252875b33503 upstream. This modification is linked to the parent commit where the received ADD_ADDR limit was accidentally reset when the endpoints were flushed. To validate that, the test is now flushing endpoints after having set new limits, and before checking them. The 'Fixes' tag here below is the same as the one from the previous commit: this patch here is not fixing anything wrong in the selftests, but it validates the previous fix for an issue introduced by this commit ID. Fixes: 01cacb00b35c ("mptcp: add netlink-based PM") Cc: stable@vger.kernel.org Reviewed-by: Mat Martineau Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20250815-net-mptcp-misc-fixes-6-17-rc2-v1-3-= 521fe9957892@kernel.org Signed-off-by: Jakub Kicinski [ Conflicts in pm_netlink.sh, because some refactoring have been done later on: commit 3188309c8ceb ("selftests: mptcp: netlink: add 'limits' helpers") and commit c99d57d0007a ("selftests: mptcp: use pm_nl endpoint ops") are not in this version. The same operation can still be done at the same place, without using the new helper. ] Signed-off-by: Matthieu Baerts (NGI0) --- tools/testing/selftests/net/mptcp/pm_netlink.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 71899a3ffa7a..3528e730e4d3 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -134,6 +134,7 @@ ip netns exec $ns1 ./pm_nl_ctl limits 1 9 2>/dev/null check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "subflows = above hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 8 8 +ip netns exec $ns1 ./pm_nl_ctl flush check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 8 subflows 8" "set limits" =20 --=20 2.50.0