All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next 0/5] mptcp: annotate lockless access
@ 2024-01-16 18:16 Paolo Abeni
  2024-01-16 18:16 ` [PATCH mptcp-next 1/5] mptcp: annotate access for msk keys Paolo Abeni
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Paolo Abeni @ 2024-01-16 18:16 UTC (permalink / raw)
  To: mptcp

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.

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


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-01-30 12:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-16 18:16 [PATCH mptcp-next 0/5] mptcp: annotate lockless access Paolo Abeni
2024-01-16 18:16 ` [PATCH mptcp-next 1/5] mptcp: annotate access for msk keys Paolo Abeni
2024-01-16 18:16 ` [PATCH mptcp-next 2/5] mptcp: annotate lockless access for the tx path Paolo Abeni
2024-01-19  1:03   ` Mat Martineau
2024-01-21 21:47     ` Paolo Abeni
2024-01-22 15:07       ` Paolo Abeni
2024-01-23  1:21         ` Mat Martineau
2024-01-16 18:16 ` [PATCH mptcp-next 3/5] mptcp: annotate lockless access for RX path fields Paolo Abeni
2024-01-16 18:16 ` [PATCH mptcp-next 4/5] mptcp: annotate lockless access for token Paolo Abeni
2024-01-16 18:16 ` [PATCH mptcp-next 5/5] mptcp: annotate lockless accesses around read-mostly fields Paolo Abeni
2024-01-17 17:48   ` mptcp: annotate lockless accesses around read-mostly fields: Tests Results MPTCP CI
2024-01-17 18:38   ` MPTCP CI
2024-01-23  2:33   ` MPTCP CI
2024-01-23  2:52   ` MPTCP CI
2024-01-23  1:21 ` [PATCH mptcp-next 0/5] mptcp: annotate lockless access Mat Martineau
2024-01-30 12:19 ` Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.