Commit ae15506
mptcp: fix duplicate reset on fastclose
The CI reports sporadic failures of the fastclose self-tests. The root
cause is a duplicate reset, not carrying the relevant MPTCP option.
In the failing scenario the bad reset is received by the peer before
the fastclose one, preventing the reception of the latter.
Indeed there is window of opportunity at fastclose time for the
following race:
mptcp_do_fastclose
__mptcp_close_ssk
__tcp_close()
tcp_set_state() [1]
tcp_send_active_reset() [2]
After [1] the stack will send reset to in-flight data reaching the now
closed port. Such reset may race with [2].
Address the issue explicitly sending a single reset on fastclose before
explicitly moving the subflow to close status.
Fixes: d21f834 ("mptcp: use fastclose on more edge scenarios")
Cc: stable@vger.kernel.org
Closes: multipath-tcp/mptcp_net-next#596
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Geliang Tang <geliang@kernel.org>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251118-net-mptcp-misc-fixes-6-18-rc6-v1-6-806d3781c95f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>1 parent fff0c87 commit ae15506
1 file changed
+23
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2409 | 2409 | | |
2410 | 2410 | | |
2411 | 2411 | | |
2412 | | - | |
2413 | 2412 | | |
2414 | 2413 | | |
2415 | 2414 | | |
| |||
2420 | 2419 | | |
2421 | 2420 | | |
2422 | 2421 | | |
2423 | | - | |
| 2422 | + | |
2424 | 2423 | | |
2425 | 2424 | | |
2426 | 2425 | | |
| |||
2467 | 2466 | | |
2468 | 2467 | | |
2469 | 2468 | | |
2470 | | - | |
2471 | | - | |
2472 | | - | |
2473 | | - | |
2474 | | - | |
2475 | | - | |
2476 | | - | |
2477 | | - | |
| 2469 | + | |
| 2470 | + | |
2478 | 2471 | | |
2479 | 2472 | | |
2480 | 2473 | | |
| |||
2779 | 2772 | | |
2780 | 2773 | | |
2781 | 2774 | | |
2782 | | - | |
2783 | | - | |
2784 | | - | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
| 2780 | + | |
| 2781 | + | |
| 2782 | + | |
| 2783 | + | |
| 2784 | + | |
| 2785 | + | |
| 2786 | + | |
| 2787 | + | |
| 2788 | + | |
| 2789 | + | |
| 2790 | + | |
| 2791 | + | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + | |
2785 | 2795 | | |
2786 | 2796 | | |
2787 | 2797 | | |
| |||
0 commit comments