On Thu, 8 Feb 2024, Paolo Abeni wrote:
> As reported by Mat, the in kernel PM can, in some edge scenarios,
> unexpectedly create multiple subflows with the same local and remote
> address.
>
> The real fix is implemented by patch 4/4 with some more accurate check
> at subflow creation time.
>
> Patches 1-3 are roughly optional pre-requisities, added to avoid
> introducing more data-races with the actual fix. Patch 1/4 is a bit
> debatable, as it changes the existing ULP API, but I could not find a
> better solution and there is some similar prior art:
> commit 0df48c26d841 ("tcp: add tcpi_bytes_acked to tcp_info")
>
> This address feedback from Mat on v1, see the patches changelog for
> the details (no changes in patch 1/4).
>
> Paolo Abeni (4):
> mptcp: fix lockless access in subflow ULP diag
> mptcp: fix data races on local_id
> mptcp: fix data races on remote_id
> mptcp: fix duplicate subflow creation
>
Hi Paolo -
v2 LGTM, thanks:
Reviewed-by: Mat Martineau <martineau@kernel.org>
> include/net/tcp.h | 2 +-
> net/mptcp/diag.c | 8 +++++--
> net/mptcp/pm_netlink.c | 45 +++++++++++++++++++++-------------------
> net/mptcp/pm_userspace.c | 2 +-
> net/mptcp/protocol.c | 2 +-
> net/mptcp/protocol.h | 15 +++++++++++---
> net/mptcp/subflow.c | 15 +++++++-------
> net/tls/tls_main.c | 2 +-
> 8 files changed, 54 insertions(+), 37 deletions(-)
>
> --
> 2.43.0
>
>
>