mptcp: clear scheduled subflows on retransmit
authorPaolo Abeni <pabeni@redhat.com>
Tue, 25 Nov 2025 16:59:11 +0000 (17:59 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 Nov 2025 02:24:35 +0000 (18:24 -0800)
commit27fd02860164bfa78cec2640dfad630d832e302c
treea6f8b56ff9ad072c5caa83c4e693156e7d36e2fd
parentda62abaaa268357b1aa66b372ace562189a05df1
mptcp: clear scheduled subflows on retransmit

When __mptcp_retrans() kicks-in, it schedules one or more subflows for
retransmission, but such subflows could be actually left alone if there
is no more data to retransmit and/or in case of concurrent fallback.

Scheduled subflows could be processed much later in time, i.e. when new
data will be transmitted, leading to bad subflow selection.

Explicitly clear all scheduled subflows before leaving the
retransmission function.

Fixes: ee2708aedad0 ("mptcp: use get_retrans wrapper")
Cc: stable@vger.kernel.org
Reported-by: Filip Pokryvka <fpokryvk@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251125-net-mptcp-clear-sched-rtx-v1-1-1cea4ad2165f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/protocol.c