[PATCH mptcp-net v5 0/2] mptcp: fix another close hang-up

Paolo Abeni posted 2 patches 1 year, 1 month ago
Failed in applying to current master (apply log)
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>
net/mptcp/protocol.c | 124 +++++++++++++++++++++----------------------
net/mptcp/protocol.h |  26 ++++++++-
net/mptcp/subflow.c  |   3 +-
3 files changed, 88 insertions(+), 65 deletions(-)
[PATCH mptcp-net v5 0/2] mptcp: fix another close hang-up
Posted by Paolo Abeni 1 year, 1 month ago
If the TCP subflows close silently due to timeouts, the msk socket
can hang-up indefinitely.

Implement an additional close timeout triggered with the last subflow
close event and move the msk to TCP_CLOSE when it fires.

Should address issues/430 and issues/431.

v4 -> v5:
 - let the tout always expire for dead socks (Mat)
 - fix comment type (Mat)
 - targeting net, added fixes tag

v3 -> v4:
 - fix off-by-one in timer update/check (sigh, trival math is too
   hard:/)

v2 -> v3:
 - fix int overlflow in patch 2/2

v1 -> v2:
 - fix timeout timer scheduling in patch 2/2 (timeout never fired on v1)

Paolo Abeni (2):
  mptcp: rename timer related helper to less confusing names
  mptcp: fix dangling connection hang-up

 net/mptcp/protocol.c | 124 +++++++++++++++++++++----------------------
 net/mptcp/protocol.h |  26 ++++++++-
 net/mptcp/subflow.c  |   3 +-
 3 files changed, 88 insertions(+), 65 deletions(-)

-- 
2.41.0
Re: [PATCH mptcp-net v5 0/2] mptcp: fix another close hang-up
Posted by Matthieu Baerts 1 year, 1 month ago
Hi Paolo, Mat,

On 06/09/2023 10:30, Paolo Abeni wrote:
> If the TCP subflows close silently due to timeouts, the msk socket
> can hang-up indefinitely.
> 
> Implement an additional close timeout triggered with the last subflow
> close event and move the msk to TCP_CLOSE when it fires.
> 
> Should address issues/430 and issues/431.
> 
> v4 -> v5:
>  - let the tout always expire for dead socks (Mat)
>  - fix comment type (Mat)
>  - targeting net, added fixes tag

Thank you for your patience (sorry for the delay), the new version and
the previous reviews! It looks good to me!

Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>

(@Mat: I can add your RvB tag as well, especially because you did the
previous reviews.)

I just applied these two patches in our tree (fixes for -net) with the 2
suggestions I mentioned in a reply to patch 2/2 (still possible to undo
them if needed).

New patches for t/upstream-net and t/upstream:
- 292454bf7376: mptcp: rename timer related helper to less confusing names
- 246aefd6e9b3: mptcp: fix dangling connection hang-up
- Results: 07a89d3454a9..c35c49bddbfc (export-net)
- Results: 07a689bb4cbf..c23e74879d43 (export)

Tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export-net/20230909T160908
https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20230909T160908

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net
Re: [PATCH mptcp-net v5 0/2] mptcp: fix another close hang-up
Posted by Mat Martineau 1 year, 1 month ago
On Sat, 9 Sep 2023, Matthieu Baerts wrote:

> Hi Paolo, Mat,
>
> On 06/09/2023 10:30, Paolo Abeni wrote:
>> If the TCP subflows close silently due to timeouts, the msk socket
>> can hang-up indefinitely.
>>
>> Implement an additional close timeout triggered with the last subflow
>> close event and move the msk to TCP_CLOSE when it fires.
>>
>> Should address issues/430 and issues/431.
>>
>> v4 -> v5:
>>  - let the tout always expire for dead socks (Mat)
>>  - fix comment type (Mat)
>>  - targeting net, added fixes tag
>
> Thank you for your patience (sorry for the delay), the new version and
> the previous reviews! It looks good to me!
>
> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
>
> (@Mat: I can add your RvB tag as well, especially because you did the
> previous reviews.)

Sure, series looks good to me as well:

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

>
> I just applied these two patches in our tree (fixes for -net) with the 2
> suggestions I mentioned in a reply to patch 2/2 (still possible to undo
> them if needed).
>
> New patches for t/upstream-net and t/upstream:
> - 292454bf7376: mptcp: rename timer related helper to less confusing names
> - 246aefd6e9b3: mptcp: fix dangling connection hang-up
> - Results: 07a89d3454a9..c35c49bddbfc (export-net)
> - Results: 07a689bb4cbf..c23e74879d43 (export)
>
> Tests are now in progress:
>
> https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export-net/20230909T160908
> https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20230909T160908
>
> Cheers,
> Matt
> -- 
> Tessares | Belgium | Hybrid Access Solutions
> www.tessares.net
>
>
Re: [PATCH mptcp-net v5 0/2] mptcp: fix another close hang-up
Posted by Matthieu Baerts 1 year, 1 month ago
Hi Mat,

(I just noticed I forgot to press "Sent" yesterday)

On 11/09/2023 22:16, Mat Martineau wrote:
> On Sat, 9 Sep 2023, Matthieu Baerts wrote:
> 
>> Hi Paolo, Mat,
>>
>> On 06/09/2023 10:30, Paolo Abeni wrote:
>>> If the TCP subflows close silently due to timeouts, the msk socket
>>> can hang-up indefinitely.
>>>
>>> Implement an additional close timeout triggered with the last subflow
>>> close event and move the msk to TCP_CLOSE when it fires.
>>>
>>> Should address issues/430 and issues/431.
>>>
>>> v4 -> v5:
>>>  - let the tout always expire for dead socks (Mat)
>>>  - fix comment type (Mat)
>>>  - targeting net, added fixes tag
>>
>> Thank you for your patience (sorry for the delay), the new version and
>> the previous reviews! It looks good to me!
>>
>> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
>>
>> (@Mat: I can add your RvB tag as well, especially because you did the
>> previous reviews.)
> 
> Sure, series looks good to me as well:
> 
> Reviewed-by: Mat Martineau <martineau@kernel.org>

Thank you, done:

- 7af61f39531d: tg:msg: add Mat's RvB tag
- ca5fe234927d: tg:msg: add Mat's RvB tag

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