[net,00/13] mptcp: misc. fixes for v6.8

Message ID 20240215-upstream-net-20240215-misc-fixes-v1-0-8c01a55d8f6a@kernel.org
Headers
Series mptcp: misc. fixes for v6.8 |

Message

Matthieu Baerts (NGI0) Feb. 15, 2024, 6:25 p.m. UTC
  This series includes 4 types of fixes:

Patches 1 and 2 force the path-managers not to allocate a new address
entry when dealing with the "special" ID 0, reserved to the address of
the initial subflow. These patches can be backported up to v5.19 and
v5.12 respectively.

Patch 3 to 6 fix the in-kernel path-manager not to create duplicated
subflows. Patch 6 is the main fix, but patches 3 to 5 are some kind of
pre-requisities: they fix some data races that could also lead to the
creation of unexpected subflows. These patches can be backported up to
v5.7, v5.10, v6.0, and v5.15 respectively.

Note that patch 3 modifies the existing ULP API. No better solutions
have been found for -net, and there is some similar prior art, see
commit 0df48c26d841 ("tcp: add tcpi_bytes_acked to tcp_info"). Please
also note that TLS ULP Diag has likely the same issue.

Patches 7 to 9 fix issues in the selftests, when executing them on older
kernels, e.g. when testing the last version of these kselftests on the
v5.15.148 kernel as it is done by LKFT when validating stable kernels.
These patches only avoid printing expected errors the console and
marking some tests as "OK" while they have been skipped. Patches 7 and 8
can be backported up to v6.6.

Patches 10 to 13 make sure all MPTCP selftests subtests have a unique
name. It is important to have a unique (sub)test name in TAP, because
that's the test identifier. Some CI environments might drop tests with
duplicated names. Patches 10 to 12 can be backported up to v6.6.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Geliang Tang (2):
      mptcp: add needs_id for userspace appending addr
      mptcp: add needs_id for netlink appending addr

Matthieu Baerts (NGI0) (7):
      selftests: mptcp: pm nl: also list skipped tests
      selftests: mptcp: pm nl: avoid error msg on older kernels
      selftests: mptcp: diag: fix bash warnings on older kernels
      selftests: mptcp: simult flows: fix some subtest names
      selftests: mptcp: userspace_pm: unique subtest names
      selftests: mptcp: diag: unique 'in use' subtest names
      selftests: mptcp: diag: unique 'cestab' subtest names

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

 include/net/tcp.h                                 |  2 +-
 net/mptcp/diag.c                                  |  8 ++-
 net/mptcp/pm_netlink.c                            | 69 ++++++++++++++---------
 net/mptcp/pm_userspace.c                          | 15 ++---
 net/mptcp/protocol.c                              |  2 +-
 net/mptcp/protocol.h                              | 15 ++++-
 net/mptcp/subflow.c                               | 15 ++---
 net/tls/tls_main.c                                |  2 +-
 tools/testing/selftests/net/mptcp/diag.sh         | 41 ++++++++------
 tools/testing/selftests/net/mptcp/pm_netlink.sh   |  8 ++-
 tools/testing/selftests/net/mptcp/simult_flows.sh |  3 +-
 tools/testing/selftests/net/mptcp/userspace_pm.sh |  4 +-
 12 files changed, 116 insertions(+), 68 deletions(-)
---
base-commit: c40c0d3a768c78a023a72fb2ceea00743e3a695d
change-id: 20240215-upstream-net-20240215-misc-fixes-03815ec14dc6

Best regards,
  

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 18, 2024, 10:30 a.m. UTC | #1
Hello:

This series was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:

On Thu, 15 Feb 2024 19:25:27 +0100 you wrote:
> This series includes 4 types of fixes:
> 
> Patches 1 and 2 force the path-managers not to allocate a new address
> entry when dealing with the "special" ID 0, reserved to the address of
> the initial subflow. These patches can be backported up to v5.19 and
> v5.12 respectively.
> 
> [...]

Here is the summary with links:
  - [net,01/13] mptcp: add needs_id for userspace appending addr
    https://git.kernel.org/netdev/net/c/6c347be62ae9
  - [net,02/13] mptcp: add needs_id for netlink appending addr
    https://git.kernel.org/netdev/net/c/584f38942626
  - [net,03/13] mptcp: fix lockless access in subflow ULP diag
    https://git.kernel.org/netdev/net/c/b8adb69a7d29
  - [net,04/13] mptcp: fix data races on local_id
    https://git.kernel.org/netdev/net/c/a7cfe7766370
  - [net,05/13] mptcp: fix data races on remote_id
    https://git.kernel.org/netdev/net/c/967d3c27127e
  - [net,06/13] mptcp: fix duplicate subflow creation
    https://git.kernel.org/netdev/net/c/045e9d812868
  - [net,07/13] selftests: mptcp: pm nl: also list skipped tests
    https://git.kernel.org/netdev/net/c/d2a2547565a9
  - [net,08/13] selftests: mptcp: pm nl: avoid error msg on older kernels
    https://git.kernel.org/netdev/net/c/662f084f3396
  - [net,09/13] selftests: mptcp: diag: fix bash warnings on older kernels
    https://git.kernel.org/netdev/net/c/694bd45980a6
  - [net,10/13] selftests: mptcp: simult flows: fix some subtest names
    https://git.kernel.org/netdev/net/c/4d8e0dde0403
  - [net,11/13] selftests: mptcp: userspace_pm: unique subtest names
    https://git.kernel.org/netdev/net/c/2ef0d804c090
  - [net,12/13] selftests: mptcp: diag: unique 'in use' subtest names
    https://git.kernel.org/netdev/net/c/645c1dc965ef
  - [net,13/13] selftests: mptcp: diag: unique 'cestab' subtest names
    https://git.kernel.org/netdev/net/c/4103d8480866

You are awesome, thank you!