On Tue, 16 Jan 2024, Paolo Abeni wrote:
> This is the 2nd preparatory series for the TCP_NOTSENT_LOWAT support.
> The latter will need tracking more state under the msk data lock
>
> The mptcp locking schema is already quite complex. We need to clarify
> and make consistent the lockless access already there 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 possibly 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 in the msk socket, possibly
> reducing the context memory usage. That change is left over as a
> possible follow-up.
>
Thanks for the reply to my question on patch 2, series LGTM:
Reviewed-by: Mat Martineau <martineau@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 | 51 +++++++++++++++++++++---------------------
> net/mptcp/protocol.h | 8 ++++---
> net/mptcp/sockopt.c | 2 +-
> net/mptcp/subflow.c | 10 +++++----
> 7 files changed, 54 insertions(+), 49 deletions(-)
>
> --
> 2.43.0
>
>
>