]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mptcp: reset fallback status gracefully at disconnect() time
authorPaolo Abeni <pabeni@redhat.com>
Mon, 14 Jul 2025 16:41:46 +0000 (18:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jul 2025 06:58:26 +0000 (08:58 +0200)
commit7dc99054ffc48e2fefc78c94d7d648c00a9dffea
tree6aafbeb995c46fc9bd074e8092e9ab99580b36da
parent659da22dee5ff316ba63bdaeeac7b58b5442f6c2
mptcp: reset fallback status gracefully at disconnect() time

commit da9b2fc7b73d147d88abe1922de5ab72d72d7756 upstream.

mptcp_disconnect() clears the fallback bit unconditionally, without
touching the associated flags.

The bit clear is safe, as no fallback operation can race with that --
all subflow are already in TCP_CLOSE status thanks to the previous
FASTCLOSE -- but we need to consistently reset all the fallback related
status.

Also acquire the relevant lock, to avoid fouling static analyzers.

Fixes: b29fcfb54cd7 ("mptcp: full disconnect implementation")
Cc: stable@vger.kernel.org
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/20250714-net-mptcp-fallback-races-v1-3-391aff963322@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mptcp/protocol.c