[net-next,0/5] mptcp: annotate lockless access

Message ID 20240202-upstream-net-next-20240202-mptcp-annotate-lockless-access-v1-0-031d6680afdc@kernel.org
Headers
Series mptcp: annotate lockless access |

Message

Matthieu Baerts (NGI0) Feb. 2, 2024, 11:40 a.m. UTC
  This is a series of 5 patches from Paolo to annotate lockless access.

The MPTCP locking schema is already quite complex. We need to clarify it
and make the lockless access already there consistent, or later changes
will be even harder to follow and understand.

This series goes through all the msk fields accessed in the RX and TX
path and makes the lockless annotation consistent with the in-use
locking schema.

As a bonus, this should fix data races eventually found by fuzzers --
even if we haven't seen many such reports so far.

Patch 1/5 hints we could remove "local_key" and "remote_key" from the
subflow context, and always use the ones from the msk socket, possibly
reducing the context memory usage. That change is left over as a
possible follow-up.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Paolo Abeni (5):
      mptcp: annotate access for msk keys
      mptcp: annotate lockless access for the tx path
      mptcp: annotate lockless access for RX path fields
      mptcp: annotate lockless access for token
      mptcp: annotate lockless accesses around read-mostly fields

 net/mptcp/options.c    | 20 +++++++++----------
 net/mptcp/pm.c         |  2 +-
 net/mptcp/pm_netlink.c | 10 +++++-----
 net/mptcp/protocol.c   | 52 ++++++++++++++++++++++++++------------------------
 net/mptcp/protocol.h   |  8 +++++---
 net/mptcp/sockopt.c    |  2 +-
 net/mptcp/subflow.c    | 10 ++++++----
 7 files changed, 55 insertions(+), 49 deletions(-)
---
base-commit: 747056a9a954d694dac91d1da6cfff5e6f0e3fc6
change-id: 20240202-upstream-net-next-20240202-mptcp-annotate-lockless-access-f7cd0955da5c

Best regards,
  

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 5, 2024, 11:20 a.m. UTC | #1
Hello:

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

On Fri, 02 Feb 2024 12:40:06 +0100 you wrote:
> This is a series of 5 patches from Paolo to annotate lockless access.
> 
> The MPTCP locking schema is already quite complex. We need to clarify it
> and make the lockless access already there consistent, or later changes
> will be even harder to follow and understand.
> 
> This series goes through all the msk fields accessed in the RX and TX
> path and makes the lockless annotation consistent with the in-use
> locking schema.
> 
> [...]

Here is the summary with links:
  - [net-next,1/5] mptcp: annotate access for msk keys
    https://git.kernel.org/netdev/net-next/c/1c09d7cbb57a
  - [net-next,2/5] mptcp: annotate lockless access for the tx path
    https://git.kernel.org/netdev/net-next/c/d440a4e27acd
  - [net-next,3/5] mptcp: annotate lockless access for RX path fields
    https://git.kernel.org/netdev/net-next/c/9426ce476a70
  - [net-next,4/5] mptcp: annotate lockless access for token
    https://git.kernel.org/netdev/net-next/c/b9f4554356f6
  - [net-next,5/5] mptcp: annotate lockless accesses around read-mostly fields
    https://git.kernel.org/netdev/net-next/c/28e5c1380506

You are awesome, thank you!