]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Sep 2024 14:36:55 +0000 (16:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Sep 2024 14:36:55 +0000 (16:36 +0200)
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

queue-6.1/selftests-mptcp-join-check-re-re-adding-id-0-endp.patch [new file with mode: 0644]
queue-6.1/selftests-mptcp-join-check-removing-id-0-endpoint.patch [new file with mode: 0644]
queue-6.1/selftests-mptcp-join-no-extra-msg-if-no-counter.patch [new file with mode: 0644]
queue-6.1/series

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 (file)
index 0000000..4aab166
--- /dev/null
@@ -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)" <matttbe@kernel.org>
+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 <mptcp@lists.linux.dev>, "Matthieu Baerts (NGI0)" <matttbe@kernel.org>, Mat Martineau <martineau@kernel.org>, Paolo Abeni <pabeni@redhat.com>
+Message-ID: <20240904111302.4095059-2-matttbe@kernel.org>
+
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+
+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 <martineau@kernel.org>
+Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+[ 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) <matttbe@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..b0e10e3
--- /dev/null
@@ -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)" <matttbe@kernel.org>
+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 <mptcp@lists.linux.dev>, "Matthieu Baerts (NGI0)" <matttbe@kernel.org>, Mat Martineau <martineau@kernel.org>, Paolo Abeni <pabeni@redhat.com>
+Message-ID: <20240904111201.4093743-2-matttbe@kernel.org>
+
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+
+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 <martineau@kernel.org>
+Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+[ 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) <matttbe@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..b4f1968
--- /dev/null
@@ -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)" <matttbe@kernel.org>
+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 <mptcp@lists.linux.dev>, "Matthieu Baerts (NGI0)" <matttbe@kernel.org>, Geliang Tang <geliang@kernel.org>, Paolo Abeni <pabeni@redhat.com>
+Message-ID: <20240904111233.4094425-2-matttbe@kernel.org>
+
+From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
+
+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 <geliang@kernel.org>
+Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
+Signed-off-by: Paolo Abeni <pabeni@redhat.com>
+[ 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) <matttbe@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
index 81cefc8257469fa1b77ebfcd1083173f09367a63..1b3a318fd18b0ae78228ab93d58b0d63c5918b7f 100644 (file)
@@ -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