]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mptcp: pm: ADD_ADDR rtx: allow ID 0
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Tue, 5 May 2026 15:00:50 +0000 (17:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 May 2026 13:31:17 +0000 (15:31 +0200)
commit 03f324f3f1f7619a47b9c91282cb12775ab0a2f1 upstream.

ADD_ADDR can be sent for the ID 0, which corresponds to the local
address and port linked to the initial subflow.

Indeed, this address could be removed, and re-added later on, e.g. what
is done in the "delete re-add signal" MPTCP Join selftests. So no reason
to ignore it.

Fixes: 00cfd77b9063 ("mptcp: retransmit ADD_ADDR when timeout")
Cc: stable@vger.kernel.org
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260505-net-mptcp-pm-fixes-7-1-rc3-v1-2-fca8091060a4@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mptcp/pm.c

index 58bfab80d630170de3aba59ef6f6810c70d72485..c46b7b0ca7138035fbd43d2ccd85337a0e95eb81 100644 (file)
@@ -350,9 +350,6 @@ static void mptcp_pm_add_timer(struct timer_list *timer)
        if (inet_sk_state_load(sk) == TCP_CLOSE)
                return;
 
-       if (!entry->addr.id)
-               return;
-
        if (mptcp_pm_should_add_signal_addr(msk)) {
                sk_reset_timer(sk, timer, jiffies + TCP_RTO_MAX / 8);
                goto out;