[PATCH v2 mptcp-net 0/5] mptcp: a bunch of data race fixes

Paolo Abeni posted 5 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1684427027.git.pabeni@redhat.com
Maintainers: Matthieu Baerts <matthieu.baerts@tessares.net>, Mat Martineau <martineau@kernel.org>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, Geliang Tang <geliang.tang@suse.com>
net/mptcp/protocol.c | 111 +++++++++++++++++++++++++++----------------
net/mptcp/protocol.h |  14 ++++--
net/mptcp/subflow.c  |  28 +----------
3 files changed, 81 insertions(+), 72 deletions(-)
[PATCH v2 mptcp-net 0/5] mptcp: a bunch of data race fixes
Posted by Paolo Abeni 1 year ago
The patch 1 && 4 are direct response to recently reported KCSAN
splat.

The patch 2 && 3 are just by code inspection of related code path.
Patch 3/5 is there mostly to make the next one simple, even if the race
mentioned in such patch should be real (but very tiny, if possible at
all).

This iteration addresses a compile warning in patch 2/5 reported by
kbuild bot.

Patch 5/5 is new in this round, fixes an unrelated issue found by code
inspection. I should have posted separatelly

Paolo Abeni (5):
  mptcp: add annotations around msk->subflow accesses
  mptcp: consolidate passive msk socket initialization
  mptcp: fix data race around msk->first access
  mptcp: add annotations around sk->sk_shutdown accesses
  mptcp: fix active subflow finalization.

 net/mptcp/protocol.c | 111 +++++++++++++++++++++++++++----------------
 net/mptcp/protocol.h |  14 ++++--
 net/mptcp/subflow.c  |  28 +----------
 3 files changed, 81 insertions(+), 72 deletions(-)

-- 
2.40.1
Re: [PATCH v2 mptcp-net 0/5] mptcp: a bunch of data race fixes
Posted by Matthieu Baerts 1 year ago
Hi Paolo, Mat,

On 18/05/2023 18:59, Paolo Abeni wrote:
> The patch 1 && 4 are direct response to recently reported KCSAN
> splat.
> 
> The patch 2 && 3 are just by code inspection of related code path.
> Patch 3/5 is there mostly to make the next one simple, even if the race
> mentioned in such patch should be real (but very tiny, if possible at
> all).
> 
> This iteration addresses a compile warning in patch 2/5 reported by
> kbuild bot.
> 
> Patch 5/5 is new in this round, fixes an unrelated issue found by code
> inspection. I should have posted separatelly

Thank you for the patches and the reviews!

Now in our tree (fixes for -net) with Mat's RvB tag (and without some
typos reported by checkpatch.pl --codespell). I had one conflict with
the scheduler BPF series, nothing important:

New patches for t/upstream-net and t/upstream:
- 2bf493e0a2c7: mptcp: add annotations around msk->subflow accesses
- 824fba99ecc6: mptcp: consolidate passive msk socket initialization
- 76d73119db47: mptcp: fix data race around msk->first access
- d68a0ccb3108: mptcp: add annotations around sk->sk_shutdown accesses
- 2971ca12a7ac: mptcp: fix active subflow finalization
- 0063946d91ed: conflict in t/mptcp-add-a-new-sysctl-scheduler
- Results: c08e2cb009ac..b87768580a4d (export-net)
- Results: 1a70ca6023d3..0a9978390b78 (export)

Tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export-net/20230524T135256
https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20230524T135256

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
Re: [PATCH v2 mptcp-net 0/5] mptcp: a bunch of data race fixes
Posted by Mat Martineau 1 year ago
On Thu, 18 May 2023, Paolo Abeni wrote:

> The patch 1 && 4 are direct response to recently reported KCSAN
> splat.
>
> The patch 2 && 3 are just by code inspection of related code path.
> Patch 3/5 is there mostly to make the next one simple, even if the race
> mentioned in such patch should be real (but very tiny, if possible at
> all).
>
> This iteration addresses a compile warning in patch 2/5 reported by
> kbuild bot.
>
> Patch 5/5 is new in this round, fixes an unrelated issue found by code
> inspection. I should have posted separatelly
>
> Paolo Abeni (5):
>  mptcp: add annotations around msk->subflow accesses
>  mptcp: consolidate passive msk socket initialization
>  mptcp: fix data race around msk->first access
>  mptcp: add annotations around sk->sk_shutdown accesses
>  mptcp: fix active subflow finalization.
>
> net/mptcp/protocol.c | 111 +++++++++++++++++++++++++++----------------
> net/mptcp/protocol.h |  14 ++++--
> net/mptcp/subflow.c  |  28 +----------
> 3 files changed, 81 insertions(+), 72 deletions(-)

Thanks Paolo,

Series looks good to me:

Reviewed-by: Mat Martineau <martineau@kernel.org>