From: Greg Kroah-Hartman Date: Wed, 4 Sep 2024 14:39:08 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v6.1.109~27 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=015336905d233b6fd968b660501ed03b1cb7beb3;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: selftests-mptcp-join-cannot-rm-sf-if-closed.patch --- diff --git a/queue-6.1/selftests-mptcp-join-cannot-rm-sf-if-closed.patch b/queue-6.1/selftests-mptcp-join-cannot-rm-sf-if-closed.patch new file mode 100644 index 00000000000..536a5cf964d --- /dev/null +++ b/queue-6.1/selftests-mptcp-join-cannot-rm-sf-if-closed.patch @@ -0,0 +1,92 @@ +From stable+bounces-73024-greg=kroah.com@vger.kernel.org Wed Sep 4 13:19:25 2024 +From: "Matthieu Baerts (NGI0)" +Date: Wed, 4 Sep 2024 13:15:48 +0200 +Subject: selftests: mptcp: join: cannot rm sf if closed +To: stable@vger.kernel.org, gregkh@linuxfoundation.org +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Mat Martineau , Jakub Kicinski +Message-ID: <20240904111548.4098486-2-matttbe@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +commit e93681afcb96864ec26c3b2ce94008ce93577373 upstream. + +Thanks to the previous commit, the MPTCP subflows are now closed on both +directions even when only the MPTCP path-manager of one peer asks for +their closure. + +In the two tests modified here -- "userspace pm add & remove address" +and "userspace pm create destroy subflow" -- one peer is controlled by +the userspace PM, and the other one by the in-kernel PM. When the +userspace PM sends a RM_ADDR notification, the in-kernel PM will +automatically react by closing all subflows using this address. Now, +thanks to the previous commit, the subflows are properly closed on both +directions, the userspace PM can then no longer closes the same +subflows if they are already closed. Before, it was OK to do that, +because the subflows were still half-opened, still OK to send a RM_ADDR. + +In other words, thanks to the previous commit closing the subflows, an +error will be returned to the userspace if it tries to close a subflow +that has already been closed. So no need to run this command, which mean +that the linked counters will then not be incremented. + +These tests are then no longer sending both a RM_ADDR, then closing the +linked subflow just after. The test with the userspace PM on the server +side is now removing one subflow linked to one address, then sending +a RM_ADDR for another address. The test with the userspace PM on the +client side is now only removing the subflow that was previously +created. + +Cc: stable@vger.kernel.org +Reviewed-by: Mat Martineau +Signed-off-by: Matthieu Baerts (NGI0) +Link: https://patch.msgid.link/20240826-net-mptcp-close-extra-sf-fin-v1-2-905199fe1172@kernel.org +Signed-off-by: Jakub Kicinski +Fixes: 97040cf9806e ("selftests: mptcp: userspace pm address tests") +Fixes: 5e986ec46874 ("selftests: mptcp: userspace pm subflow tests") +[ It looks like this patch is needed for the same reasons as mentioned + above, but the resolution is different: the subflows and addresses are + removed elsewhere. The same type of adaptations have been applied + here. The Fixes tag has been replaced by better appropriated ones. ] +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/net/mptcp/mptcp_join.sh | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh ++++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh +@@ -957,8 +957,6 @@ do_transfer() + dp=$(grep "type:10" "$evts_ns1" | + sed -n 's/.*\(dport:\)\([[:digit:]]*\).*$/\2/p;q') + ip netns exec ${listener_ns} ./pm_nl_ctl rem token $tk id $id +- ip netns exec ${listener_ns} ./pm_nl_ctl dsf lip "$addr" \ +- lport $sp rip $da rport $dp token $tk + fi + + counter=$((counter + 1)) +@@ -1024,7 +1022,6 @@ do_transfer() + sleep 1 + sp=$(grep "type:10" "$evts_ns2" | + sed -n 's/.*\(sport:\)\([[:digit:]]*\).*$/\2/p;q') +- ip netns exec ${connector_ns} ./pm_nl_ctl rem token $tk id $id + ip netns exec ${connector_ns} ./pm_nl_ctl dsf lip $addr lport $sp \ + rip $da rport $dp token $tk + fi +@@ -3227,7 +3224,7 @@ userspace_tests() + run_tests $ns1 $ns2 10.0.1.1 0 userspace_1 0 slow + chk_join_nr 1 1 1 + chk_add_nr 1 1 +- chk_rm_nr 1 1 invert ++ chk_rm_nr 1 0 invert + fi + + # userspace pm create destroy subflow +@@ -3237,7 +3234,7 @@ userspace_tests() + pm_nl_set_limits $ns1 0 1 + run_tests $ns1 $ns2 10.0.1.1 0 0 userspace_1 slow + chk_join_nr 1 1 1 +- chk_rm_nr 1 1 ++ chk_rm_nr 0 1 + fi + + # remove and re-add diff --git a/queue-6.1/series b/queue-6.1/series index 1b3a318fd18..92cb930b858 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -28,3 +28,4 @@ mptcp-avoid-duplicated-sub_closed-events.patch selftests-mptcp-join-check-removing-id-0-endpoint.patch selftests-mptcp-join-no-extra-msg-if-no-counter.patch selftests-mptcp-join-check-re-re-adding-id-0-endp.patch +selftests-mptcp-join-cannot-rm-sf-if-closed.patch