Hi Paolo,
On 05/07/2025 09:24, Paolo Abeni wrote:
> This series contains 3 fixes somewhat related to various races we have
> while handling fallback and 2 small follow-up likely more suited for
> net-next.
>
> The root cause of the issues addressed here is that the check for
> "we can fallback to tcp now" and the related action are not atomic. That
> also applies to fallback due to MP_FAIL - where the window race is even
> wider.
>
> Address the issue introducing an additional spinlock to bundle together
> all the relevant events, as per patch 1 and 2.
>
> Note that mptcp_disconnect() unconditionally
> clears the fallback status (zeroing msk->flags) and that may race with
> operation still running on the (closing) subflows.
>
> Such race is addressed in patch 3.
>
> Patch 4 cleans up a bit the fallback code, introducing specific MIB for
> each FB reason, and patch 5 drops the, hopefully now redundandt
> pr_fallback().
Thank you very much for the fixes!
> Paolo Abeni (5):
> mptcp: make fallback action and fallback decision atomic
> mptcp: plug races between subflow fail and subflow creation
> mptcp: fix status reset on disconnect()
> mptcp: track fallbacks accurately via mibs
> mptcp: remove pr_fallback()
I have a few small comments, please see the individual patches if you
don't mind!
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.