[PATCH mptcp-net v3 0/4] mptcp: fix races in add_addr handling

Paolo Abeni posted 4 patches 2 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1644399915.git.pabeni@redhat.com
Maintainers: Matthieu Baerts <matthieu.baerts@tessares.net>, Mat Martineau <mathew.j.martineau@linux.intel.com>, Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>, Shuah Khan <shuah@kernel.org>, Geliang Tang <geliangtang@gmail.com>, "David S. Miller" <davem@davemloft.net>
net/mptcp/mib.c                               |  2 ++
net/mptcp/mib.h                               |  2 ++
net/mptcp/pm.c                                |  8 +++--
net/mptcp/pm_netlink.c                        | 29 +++++++++++++++----
.../testing/selftests/net/mptcp/mptcp_join.sh | 16 ++++++++--
5 files changed, 47 insertions(+), 10 deletions(-)
[PATCH mptcp-net v3 0/4] mptcp: fix races in add_addr handling
Posted by Paolo Abeni 2 years, 2 months ago
the patches 1 && 2 fix actual races, even if the race addressed by
2/4 is not exposed by the self-tests, afaics.

patch 3 introduces some mibs to detect critical scenarios we can't
fix without major rework

patch 4 updates the self-test to be graceful in above cases.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/254

Note: I did not attach the above tag to a specific patch, as all
of them will be needed to fix the issue

v2 -> v3:
 - fix missing init in patch 2/4

Paolo Abeni (4):
  mptcp: fix race in overlapping signal events
  mptcp: fix race in incoming ADD_ADDR option processing.
  mptcp: add mibs counter for ignored incoming options
  selftests: mptcp: more robust signal race test

 net/mptcp/mib.c                               |  2 ++
 net/mptcp/mib.h                               |  2 ++
 net/mptcp/pm.c                                |  8 +++--
 net/mptcp/pm_netlink.c                        | 29 +++++++++++++++----
 .../testing/selftests/net/mptcp/mptcp_join.sh | 16 ++++++++--
 5 files changed, 47 insertions(+), 10 deletions(-)

-- 
2.34.1


Re: [PATCH mptcp-net v3 0/4] mptcp: fix races in add_addr handling
Posted by Matthieu Baerts 2 years, 2 months ago
Hi Paolo,

On 09/02/2022 10:47, Paolo Abeni wrote:
> the patches 1 && 2 fix actual races, even if the race addressed by
> 2/4 is not exposed by the self-tests, afaics.
> 
> patch 3 introduces some mibs to detect critical scenarios we can't
> fix without major rework
> 
> patch 4 updates the self-test to be graceful in above cases.

Thank you for the new version!

I suggest to apply it now to have more feedback from the CIs. We can
always end Squash-to patches later if needed.


> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/254
> 
> Note: I did not attach the above tag to a specific patch, as all
> of them will be needed to fix the issue

Do not hesitate to put it on the last one so the ticket will be
automatically closed and tracked when applying the patches on the
different trees :)
We can also put it on all of them or use 'Link' on the first ones and
'Closes' on the last one.

Anyway, I can also close it manually if I don't forget ;-)

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

Re: [PATCH mptcp-net v3 0/4] mptcp: fix races in add_addr handling
Posted by Matthieu Baerts 2 years, 2 months ago
Hi Paolo,

On 09/02/2022 10:59, Matthieu Baerts wrote:
> Hi Paolo,
> 
> On 09/02/2022 10:47, Paolo Abeni wrote:
>> the patches 1 && 2 fix actual races, even if the race addressed by
>> 2/4 is not exposed by the self-tests, afaics.
>>
>> patch 3 introduces some mibs to detect critical scenarios we can't
>> fix without major rework
>>
>> patch 4 updates the self-test to be graceful in above cases.
> 
> Thank you for the new version!
> 
> I suggest to apply it now to have more feedback from the CIs. We can
> always end Squash-to patches later if needed.

Just applied in our tree (fixes for -net) with my RvB tags (+ Closes,
Reported/Tested and Fixes on the patch 4/4),
s/AddAddrDropped/AddAddrDrop/ for the MIB item without two small issues
reported by CheckPatch ("(foo*)" should be "(foo *)"):

- 83013c9c30e5: mptcp: fix race in overlapping signal events
- 6a9d5a9d5ec0: mptcp: fix race in incoming ADD_ADDR option processing
- 31a634cf1d69: mptcp: add mibs counter for ignored incoming options
- be58c0804397: selftests: mptcp: more robust signal race test
- 94af849fb4a6: tg: fix wrong merge resolution
- Results: 3484d41ff4f2..be63b701c373

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220209T132143
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net