]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mptcp: fix address removal logic in mptcp_pm_nl_rm_addr
authorGang Yan <yangang@kylinos.cn>
Tue, 25 Nov 2025 03:58:42 +0000 (22:58 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Dec 2025 10:46:07 +0000 (11:46 +0100)
[ Upstream commit 92e239e36d600002559074994a545fcfac9afd2d ]

Fix inverted WARN_ON_ONCE condition that prevented normal address
removal counter updates. The current code only executes decrement
logic when the counter is already 0 (abnormal state), while
normal removals (counter > 0) are ignored.

Signed-off-by: Gang Yan <yangang@kylinos.cn>
Fixes: 636113918508 ("mptcp: pm: remove '_nl' from mptcp_pm_nl_rm_addr_received")
Cc: stable@vger.kernel.org
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251118-net-mptcp-misc-fixes-6-18-rc6-v1-10-806d3781c95f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ Context ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mptcp/pm_kernel.c

index 07f50d0304cfa2226e5c39abaa1fb6ae30c2e26f..f72892b7abc3ab1e1a92a44711bbf5fe531455f2 100644 (file)
@@ -548,7 +548,7 @@ static void mptcp_pm_nl_add_addr_received(struct mptcp_sock *msk)
 
 void mptcp_pm_nl_rm_addr(struct mptcp_sock *msk, u8 rm_id)
 {
-       if (rm_id && WARN_ON_ONCE(msk->pm.add_addr_accepted == 0)) {
+       if (rm_id && !WARN_ON_ONCE(msk->pm.add_addr_accepted == 0)) {
                /* Note: if the subflow has been closed before, this
                 * add_addr_accepted counter will not be decremented.
                 */