From: Greg Kroah-Hartman Date: Wed, 4 Sep 2024 14:36:55 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v6.1.109~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e333a0534841411ca98f9b5949c473af4565f26a;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: selftests-mptcp-join-check-re-re-adding-id-0-endp.patch selftests-mptcp-join-check-removing-id-0-endpoint.patch selftests-mptcp-join-no-extra-msg-if-no-counter.patch --- diff --git a/queue-6.1/selftests-mptcp-join-check-re-re-adding-id-0-endp.patch b/queue-6.1/selftests-mptcp-join-check-re-re-adding-id-0-endp.patch new file mode 100644 index 00000000000..4aab16648c8 --- /dev/null +++ b/queue-6.1/selftests-mptcp-join-check-re-re-adding-id-0-endp.patch @@ -0,0 +1,86 @@ +From stable+bounces-73021-greg=kroah.com@vger.kernel.org Wed Sep 4 13:16:18 2024 +From: "Matthieu Baerts (NGI0)" +Date: Wed, 4 Sep 2024 13:13:02 +0200 +Subject: selftests: mptcp: join: check re-re-adding ID 0 endp +To: stable@vger.kernel.org, gregkh@linuxfoundation.org +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Mat Martineau , Paolo Abeni +Message-ID: <20240904111302.4095059-2-matttbe@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +commit d397d7246c11ca36c33c932bc36d38e3a79e9aa0 upstream. + +This test extends "delete and re-add" to validate the previous commit: +when the endpoint linked to the initial subflow (ID 0) is re-added +multiple times, it was no longer being used, because the internal linked +counters are not decremented for this special endpoint: it is not an +additional endpoint. + +Here, the "del/add id 0" steps are done 3 times to unsure this case is +validated. + +The 'Fixes' tag here below is the same as the one from the previous +commit: this patch here is not fixing anything wrong in the selftests, +but it validates the previous fix for an issue introduced by this commit +ID. + +Fixes: 3ad14f54bd74 ("mptcp: more accurate MPC endpoint tracking") +Cc: stable@vger.kernel.org +Reviewed-by: Mat Martineau +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Paolo Abeni +[ Conflicts in mptcp_join.sh, because the helpers are different in this + version: + - run_tests has been modified a few times to reduce the number of + positional parameters + - no chk_mptcp_info helper + - chk_subflow_nr taking an extra parameter + - kill_tests_wait instead of mptcp_lib_kill_wait ] +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/net/mptcp/mptcp_join.sh | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh ++++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh +@@ -3312,7 +3312,7 @@ endpoint_tests() + pm_nl_set_limits $ns2 0 3 + pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow +- run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & ++ run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_5 2>/dev/null & + + wait_mpj $ns2 + pm_nl_del_endpoint $ns2 2 10.0.2.2 +@@ -3333,18 +3333,21 @@ endpoint_tests() + wait_mpj $ns2 + chk_subflow_nr "" "after no reject" 3 + +- pm_nl_del_endpoint $ns2 1 10.0.1.2 +- sleep 0.5 +- chk_subflow_nr "" "after delete id 0" 2 +- +- pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow +- wait_mpj $ns2 +- chk_subflow_nr "" "after re-add id 0" 3 ++ local i ++ for i in $(seq 3); do ++ pm_nl_del_endpoint $ns2 1 10.0.1.2 ++ sleep 0.5 ++ chk_subflow_nr "" "after delete id 0 ($i)" 2 ++ ++ pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow ++ wait_mpj $ns2 ++ chk_subflow_nr "" "after re-add id 0 ($i)" 3 ++ done + + kill_tests_wait + +- chk_join_nr 4 4 4 +- chk_rm_nr 2 2 ++ chk_join_nr 6 6 6 ++ chk_rm_nr 4 4 + fi + + # remove and re-add diff --git a/queue-6.1/selftests-mptcp-join-check-removing-id-0-endpoint.patch b/queue-6.1/selftests-mptcp-join-check-removing-id-0-endpoint.patch new file mode 100644 index 00000000000..b0e10e36406 --- /dev/null +++ b/queue-6.1/selftests-mptcp-join-check-removing-id-0-endpoint.patch @@ -0,0 +1,92 @@ +From stable+bounces-73019-greg=kroah.com@vger.kernel.org Wed Sep 4 13:13:03 2024 +From: "Matthieu Baerts (NGI0)" +Date: Wed, 4 Sep 2024 13:12:02 +0200 +Subject: selftests: mptcp: join: check removing ID 0 endpoint +To: stable@vger.kernel.org, gregkh@linuxfoundation.org +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Mat Martineau , Paolo Abeni +Message-ID: <20240904111201.4093743-2-matttbe@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +commit 5f94b08c001290acda94d9d8868075590931c198 upstream. + +Removing the endpoint linked to the initial subflow should trigger a +RM_ADDR for the right ID, and the removal of the subflow. That's what is +now being verified in the "delete and re-add" test. + +Note that removing the initial subflow will not decrement the 'subflows' +counters, which corresponds to the *additional* subflows. On the other +hand, when the same endpoint is re-added, it will increment this +counter, as it will be seen as an additional subflow this time. + +The 'Fixes' tag here below is the same as the one from the previous +commit: this patch here is not fixing anything wrong in the selftests, +but it validates the previous fix for an issue introduced by this commit +ID. + +Fixes: 3ad14f54bd74 ("mptcp: more accurate MPC endpoint tracking") +Cc: stable@vger.kernel.org +Reviewed-by: Mat Martineau +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Paolo Abeni +[ Conflicts in mptcp_join.sh, because the helpers are different in this + version: + - run_tests has been modified a few times to reduce the number of + positional parameters + - no chk_mptcp_info helper + - chk_subflow_nr taking an extra parameter + - kill_tests_wait instead of mptcp_lib_kill_wait ] +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/net/mptcp/mptcp_join.sh | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh ++++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh +@@ -3308,19 +3308,20 @@ endpoint_tests() + + if reset_with_tcp_filter "delete and re-add" ns2 10.0.3.2 REJECT OUTPUT && + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then +- pm_nl_set_limits $ns1 0 2 +- pm_nl_set_limits $ns2 0 2 ++ pm_nl_set_limits $ns1 0 3 ++ pm_nl_set_limits $ns2 0 3 ++ pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow + pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow + run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + + wait_mpj $ns2 + pm_nl_del_endpoint $ns2 2 10.0.2.2 + sleep 0.5 +- chk_subflow_nr needtitle "after delete" 1 ++ chk_subflow_nr needtitle "after delete id 2" 1 + + pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow + wait_mpj $ns2 +- chk_subflow_nr "" "after re-add" 2 ++ chk_subflow_nr "" "after re-add id 2" 2 + + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + wait_attempt_fail $ns2 +@@ -3332,10 +3333,18 @@ endpoint_tests() + wait_mpj $ns2 + chk_subflow_nr "" "after no reject" 3 + ++ pm_nl_del_endpoint $ns2 1 10.0.1.2 ++ sleep 0.5 ++ chk_subflow_nr "" "after delete id 0" 2 ++ ++ pm_nl_add_endpoint $ns2 10.0.1.2 id 1 dev ns2eth1 flags subflow ++ wait_mpj $ns2 ++ chk_subflow_nr "" "after re-add id 0" 3 ++ + kill_tests_wait + +- chk_join_nr 3 3 3 +- chk_rm_nr 1 1 ++ chk_join_nr 4 4 4 ++ chk_rm_nr 2 2 + fi + + # remove and re-add diff --git a/queue-6.1/selftests-mptcp-join-no-extra-msg-if-no-counter.patch b/queue-6.1/selftests-mptcp-join-no-extra-msg-if-no-counter.patch new file mode 100644 index 00000000000..b4f19687889 --- /dev/null +++ b/queue-6.1/selftests-mptcp-join-no-extra-msg-if-no-counter.patch @@ -0,0 +1,98 @@ +From stable+bounces-73020-greg=kroah.com@vger.kernel.org Wed Sep 4 13:14:55 2024 +From: "Matthieu Baerts (NGI0)" +Date: Wed, 4 Sep 2024 13:12:34 +0200 +Subject: selftests: mptcp: join: no extra msg if no counter +To: stable@vger.kernel.org, gregkh@linuxfoundation.org +Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Geliang Tang , Paolo Abeni +Message-ID: <20240904111233.4094425-2-matttbe@kernel.org> + +From: "Matthieu Baerts (NGI0)" + +commit 76a2d8394cc183df872adf04bf636eaf42746449 upstream. + +The checksum and fail counters might not be available. Then no need to +display an extra message with missing info. + +While at it, fix the indentation around, which is wrong since the same +commit. + +Fixes: 47867f0a7e83 ("selftests: mptcp: join: skip check if MIB counter not supported") +Cc: stable@vger.kernel.org +Reviewed-by: Geliang Tang +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Paolo Abeni +[ Conflicts in mptcp_join.sh, because the context is different, but the + exact same fix can still be applied on the modified lines: adding + '[ -n "$count" ]', and fixing the indentation. ] +Signed-off-by: Matthieu Baerts (NGI0) +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/net/mptcp/mptcp_join.sh | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh ++++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh +@@ -1252,13 +1252,13 @@ chk_csum_nr() + + printf "%-${nr_blank}s %s" " " "sum" + count=$(get_counter ${ns1} "MPTcpExtDataCsumErr") +- if [ "$count" != "$csum_ns1" ]; then ++ if [ -n "$count" ] && [ "$count" != "$csum_ns1" ]; then + extra_msg="$extra_msg ns1=$count" + fi + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" != $csum_ns1 ] && [ $allow_multi_errors_ns1 -eq 0 ]; } || +- { [ "$count" -lt $csum_ns1 ] && [ $allow_multi_errors_ns1 -eq 1 ]; }; then ++ { [ "$count" -lt $csum_ns1 ] && [ $allow_multi_errors_ns1 -eq 1 ]; }; then + echo "[fail] got $count data checksum error[s] expected $csum_ns1" + fail_test + dump_stats=1 +@@ -1267,13 +1267,13 @@ chk_csum_nr() + fi + echo -n " - csum " + count=$(get_counter ${ns2} "MPTcpExtDataCsumErr") +- if [ "$count" != "$csum_ns2" ]; then ++ if [ -n "$count" ] && [ "$count" != "$csum_ns2" ]; then + extra_msg="$extra_msg ns2=$count" + fi + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" != $csum_ns2 ] && [ $allow_multi_errors_ns2 -eq 0 ]; } || +- { [ "$count" -lt $csum_ns2 ] && [ $allow_multi_errors_ns2 -eq 1 ]; }; then ++ { [ "$count" -lt $csum_ns2 ] && [ $allow_multi_errors_ns2 -eq 1 ]; }; then + echo "[fail] got $count data checksum error[s] expected $csum_ns2" + fail_test + dump_stats=1 +@@ -1315,13 +1315,13 @@ chk_fail_nr() + + printf "%-${nr_blank}s %s" " " "ftx" + count=$(get_counter ${ns_tx} "MPTcpExtMPFailTx") +- if [ "$count" != "$fail_tx" ]; then ++ if [ -n "$count" ] && [ "$count" != "$fail_tx" ]; then + extra_msg="$extra_msg,tx=$count" + fi + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" != "$fail_tx" ] && [ $allow_tx_lost -eq 0 ]; } || +- { [ "$count" -gt "$fail_tx" ] && [ $allow_tx_lost -eq 1 ]; }; then ++ { [ "$count" -gt "$fail_tx" ] && [ $allow_tx_lost -eq 1 ]; }; then + echo "[fail] got $count MP_FAIL[s] TX expected $fail_tx" + fail_test + dump_stats=1 +@@ -1331,13 +1331,13 @@ chk_fail_nr() + + echo -n " - failrx" + count=$(get_counter ${ns_rx} "MPTcpExtMPFailRx") +- if [ "$count" != "$fail_rx" ]; then ++ if [ -n "$count" ] && [ "$count" != "$fail_rx" ]; then + extra_msg="$extra_msg,rx=$count" + fi + if [ -z "$count" ]; then + echo -n "[skip]" + elif { [ "$count" != "$fail_rx" ] && [ $allow_rx_lost -eq 0 ]; } || +- { [ "$count" -gt "$fail_rx" ] && [ $allow_rx_lost -eq 1 ]; }; then ++ { [ "$count" -gt "$fail_rx" ] && [ $allow_rx_lost -eq 1 ]; }; then + echo "[fail] got $count MP_FAIL[s] RX expected $fail_rx" + fail_test + dump_stats=1 diff --git a/queue-6.1/series b/queue-6.1/series index 81cefc82574..1b3a318fd18 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -25,3 +25,6 @@ selftests-mptcp-join-check-re-using-id-of-unused-add_addr.patch selftests-mptcp-join-check-re-adding-init-endp-with-id.patch mptcp-pr_debug-add-missing-n-at-the-end.patch 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