* [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd [not found] <2024082618-wilt-deafness-0a89@gregkh> @ 2024-09-04 11:06 ` Matthieu Baerts (NGI0) 2024-09-04 11:06 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0) ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Matthieu Baerts (NGI0) @ 2024-09-04 11:06 UTC (permalink / raw) To: stable, gregkh Cc: MPTCP Upstream, Paolo Abeni, Matthieu Baerts, David S . Miller From: Paolo Abeni <pabeni@redhat.com> commit b5e2fb832f48bc01d937a053e0550a1465a2f05d upstream. Delete and re-create a signal endpoint and ensure that the PM actually deletes and re-create the subflow. Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Stable-dep-of: e06959e9eebd ("selftests: mptcp: join: test for flush/re-add endpoints") [ No conflicts, but adapt the test to the helpers in this version: - run_tests has been modified a few times to reduce the number of positional parameters - no pm_nl_check_endpoint helper - 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> --- .../testing/selftests/net/mptcp/mptcp_join.sh | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index c54df4a6627c..549b230238ca 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3297,6 +3297,29 @@ endpoint_tests() chk_join_nr 3 3 3 chk_rm_nr 1 1 fi + + # remove and re-add + if reset "delete re-add signal" && + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 id 1 flags signal + run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + local tests_pid=$! + + wait_mpj $ns2 + chk_subflow_nr needtitle "before delete" 2 + + pm_nl_del_endpoint $ns1 1 10.0.2.1 + sleep 0.5 + chk_subflow_nr "" "after delete" 1 + + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + wait_mpj $ns2 + chk_subflow_nr "" "after re-add" 2 + kill_tests_wait + fi + } # [$1: error message] -- 2.45.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints 2024-09-04 11:06 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Matthieu Baerts (NGI0) @ 2024-09-04 11:06 ` Matthieu Baerts (NGI0) 2024-09-04 14:32 ` Patch "selftests: mptcp: join: test for flush/re-add endpoints" has been added to the 6.1-stable tree gregkh 2024-09-04 14:33 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Greg KH 2024-09-04 14:32 ` Patch "selftests: mptcp: add explicit test case for remove/readd" has been added to the 6.1-stable tree gregkh 2024-09-04 14:33 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Greg KH 2 siblings, 2 replies; 6+ messages in thread From: Matthieu Baerts (NGI0) @ 2024-09-04 11:06 UTC (permalink / raw) To: stable, gregkh Cc: MPTCP Upstream, Matthieu Baerts (NGI0), Mat Martineau, Jakub Kicinski commit e06959e9eebdfea4654390f53b65cff57691872e upstream. After having flushed endpoints that didn't cause the creation of new subflows, it is important to check endpoints can be re-created, re-using previously used IDs. Before the previous commit, the client would not have been able to re-create the subflow that was previously rejected. 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: 06faa2271034 ("mptcp: remove multi addresses and subflows in PM") Cc: stable@vger.kernel.org Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20240819-net-mptcp-pm-reusing-id-v1-6-38035d40de5b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> [ No conflicts, but adapt the test to the helpers 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> --- .../testing/selftests/net/mptcp/mptcp_join.sh | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index 549b230238ca..0d2f30affe1b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3320,6 +3320,35 @@ endpoint_tests() kill_tests_wait fi + # flush and re-add + if reset_with_tcp_filter "flush 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 1 2 + # broadcast IP: no packet for this address will be received on ns1 + pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + local tests_pid=$! + + wait_attempt_fail $ns2 + chk_subflow_nr needtitle "before flush" 1 + + pm_nl_flush_endpoint $ns2 + pm_nl_flush_endpoint $ns1 + wait_rm_addr $ns2 0 + ip netns exec "${ns2}" ${iptables} -D OUTPUT -s "10.0.3.2" -p tcp -j REJECT + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + wait_mpj $ns2 + pm_nl_add_endpoint $ns1 10.0.3.1 id 2 flags signal + wait_mpj $ns2 + kill_wait "${tests_pid}" + kill_tests_wait + + chk_join_nr 2 2 2 + chk_add_nr 2 2 + chk_rm_nr 1 0 invert + fi } # [$1: error message] -- 2.45.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Patch "selftests: mptcp: join: test for flush/re-add endpoints" has been added to the 6.1-stable tree 2024-09-04 11:06 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0) @ 2024-09-04 14:32 ` gregkh 2024-09-04 14:33 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Greg KH 1 sibling, 0 replies; 6+ messages in thread From: gregkh @ 2024-09-04 14:32 UTC (permalink / raw) To: gregkh, kuba, martineau, matttbe, mptcp; +Cc: stable-commits This is a note to let you know that I've just added the patch titled selftests: mptcp: join: test for flush/re-add endpoints to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: selftests-mptcp-join-test-for-flush-re-add-endpoints.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@vger.kernel.org> know about it. From stable+bounces-73010-greg=kroah.com@vger.kernel.org Wed Sep 4 13:06:39 2024 From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> Date: Wed, 4 Sep 2024 13:06:13 +0200 Subject: selftests: mptcp: join: test for flush/re-add endpoints 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>, Jakub Kicinski <kuba@kernel.org> Message-ID: <20240904110611.4086328-4-matttbe@kernel.org> From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> commit e06959e9eebdfea4654390f53b65cff57691872e upstream. After having flushed endpoints that didn't cause the creation of new subflows, it is important to check endpoints can be re-created, re-using previously used IDs. Before the previous commit, the client would not have been able to re-create the subflow that was previously rejected. 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: 06faa2271034 ("mptcp: remove multi addresses and subflows in PM") Cc: stable@vger.kernel.org Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20240819-net-mptcp-pm-reusing-id-v1-6-38035d40de5b@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org> [ No conflicts, but adapt the test to the helpers 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 | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3368,6 +3368,35 @@ endpoint_tests() chk_rm_nr 3 2 invert fi + # flush and re-add + if reset_with_tcp_filter "flush 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 1 2 + # broadcast IP: no packet for this address will be received on ns1 + pm_nl_add_endpoint $ns1 224.0.0.1 id 2 flags signal + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + local tests_pid=$! + + wait_attempt_fail $ns2 + chk_subflow_nr needtitle "before flush" 1 + + pm_nl_flush_endpoint $ns2 + pm_nl_flush_endpoint $ns1 + wait_rm_addr $ns2 0 + ip netns exec "${ns2}" ${iptables} -D OUTPUT -s "10.0.3.2" -p tcp -j REJECT + pm_nl_add_endpoint $ns2 10.0.3.2 id 3 flags subflow + wait_mpj $ns2 + pm_nl_add_endpoint $ns1 10.0.3.1 id 2 flags signal + wait_mpj $ns2 + kill_wait "${tests_pid}" + kill_tests_wait + + chk_join_nr 2 2 2 + chk_add_nr 2 2 + chk_rm_nr 1 0 invert + fi } # [$1: error message] Patches currently in stable-queue which might be from matttbe@kernel.org are queue-6.1/mptcp-pm-fix-rm_addr-id-for-the-initial-subflow.patch queue-6.1/selftests-mptcp-join-validate-fullmesh-endp-on-1st-sf.patch queue-6.1/mptcp-pm-fix-id-0-endp-usage-after-multiple-re-creations.patch queue-6.1/mptcp-make-pm_remove_addrs_and_subflows-static.patch queue-6.1/mptcp-pm-avoid-possible-uaf-when-selecting-endp.patch queue-6.1/mptcp-pm-reuse-id-0-after-delete-and-re-add.patch queue-6.1/selftests-mptcp-join-check-re-adding-init-endp-with-id.patch queue-6.1/selftests-mptcp-join-test-for-flush-re-add-endpoints.patch queue-6.1/selftests-mptcp-add-explicit-test-case-for-remove-re.patch queue-6.1/selftests-mptcp-add-explicit-test-case-for-remove-readd.patch queue-6.1/selftests-mptcp-join-check-re-adding-init-endp-with-.patch queue-6.1/selftests-mptcp-join-check-re-using-id-of-closed-subflow.patch queue-6.1/mptcp-pm-fullmesh-select-the-right-id-later.patch queue-6.1/mptcp-pr_debug-add-missing-n-at-the-end.patch queue-6.1/selftests-mptcp-join-check-re-using-id-of-unused-add.patch queue-6.1/selftests-mptcp-join-check-re-using-id-of-unused-add_addr.patch ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints 2024-09-04 11:06 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0) 2024-09-04 14:32 ` Patch "selftests: mptcp: join: test for flush/re-add endpoints" has been added to the 6.1-stable tree gregkh @ 2024-09-04 14:33 ` Greg KH 1 sibling, 0 replies; 6+ messages in thread From: Greg KH @ 2024-09-04 14:33 UTC (permalink / raw) To: Matthieu Baerts (NGI0) Cc: stable, MPTCP Upstream, Mat Martineau, Jakub Kicinski On Wed, Sep 04, 2024 at 01:06:13PM +0200, Matthieu Baerts (NGI0) wrote: > commit e06959e9eebdfea4654390f53b65cff57691872e upstream. > Applied ^ permalink raw reply [flat|nested] 6+ messages in thread
* Patch "selftests: mptcp: add explicit test case for remove/readd" has been added to the 6.1-stable tree 2024-09-04 11:06 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Matthieu Baerts (NGI0) 2024-09-04 11:06 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0) @ 2024-09-04 14:32 ` gregkh 2024-09-04 14:33 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Greg KH 2 siblings, 0 replies; 6+ messages in thread From: gregkh @ 2024-09-04 14:32 UTC (permalink / raw) To: davem, gregkh, matttbe, mptcp, pabeni; +Cc: stable-commits This is a note to let you know that I've just added the patch titled selftests: mptcp: add explicit test case for remove/readd to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: selftests-mptcp-add-explicit-test-case-for-remove-readd.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@vger.kernel.org> know about it. From stable+bounces-73009-greg=kroah.com@vger.kernel.org Wed Sep 4 13:06:37 2024 From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> Date: Wed, 4 Sep 2024 13:06:12 +0200 Subject: selftests: mptcp: add explicit test case for remove/readd To: stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: MPTCP Upstream <mptcp@lists.linux.dev>, Paolo Abeni <pabeni@redhat.com>, Matthieu Baerts <matttbe@kernel.org>, "David S . Miller" <davem@davemloft.net> Message-ID: <20240904110611.4086328-3-matttbe@kernel.org> From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> From: Paolo Abeni <pabeni@redhat.com> commit b5e2fb832f48bc01d937a053e0550a1465a2f05d upstream. Delete and re-create a signal endpoint and ensure that the PM actually deletes and re-create the subflow. Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Stable-dep-of: e06959e9eebd ("selftests: mptcp: join: test for flush/re-add endpoints") [ No conflicts, but adapt the test to the helpers in this version: - run_tests has been modified a few times to reduce the number of positional parameters - no pm_nl_check_endpoint helper - 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, 23 insertions(+) --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3239,6 +3239,29 @@ userspace_tests() chk_join_nr 1 1 1 chk_rm_nr 1 1 fi + + # remove and re-add + if reset "delete re-add signal" && + mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then + pm_nl_set_limits $ns1 1 1 + pm_nl_set_limits $ns2 1 1 + pm_nl_add_endpoint $ns1 10.0.2.1 id 1 flags signal + run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & + local tests_pid=$! + + wait_mpj $ns2 + chk_subflow_nr needtitle "before delete" 2 + + pm_nl_del_endpoint $ns1 1 10.0.2.1 + sleep 0.5 + chk_subflow_nr "" "after delete" 1 + + pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + wait_mpj $ns2 + chk_subflow_nr "" "after re-add" 2 + kill_tests_wait + fi + } endpoint_tests() Patches currently in stable-queue which might be from matttbe@kernel.org are queue-6.1/mptcp-pm-fix-rm_addr-id-for-the-initial-subflow.patch queue-6.1/selftests-mptcp-join-validate-fullmesh-endp-on-1st-sf.patch queue-6.1/mptcp-pm-fix-id-0-endp-usage-after-multiple-re-creations.patch queue-6.1/mptcp-make-pm_remove_addrs_and_subflows-static.patch queue-6.1/mptcp-pm-avoid-possible-uaf-when-selecting-endp.patch queue-6.1/mptcp-pm-reuse-id-0-after-delete-and-re-add.patch queue-6.1/selftests-mptcp-join-check-re-adding-init-endp-with-id.patch queue-6.1/selftests-mptcp-join-test-for-flush-re-add-endpoints.patch queue-6.1/selftests-mptcp-add-explicit-test-case-for-remove-re.patch queue-6.1/selftests-mptcp-add-explicit-test-case-for-remove-readd.patch queue-6.1/selftests-mptcp-join-check-re-adding-init-endp-with-.patch queue-6.1/selftests-mptcp-join-check-re-using-id-of-closed-subflow.patch queue-6.1/mptcp-pm-fullmesh-select-the-right-id-later.patch queue-6.1/mptcp-pr_debug-add-missing-n-at-the-end.patch queue-6.1/selftests-mptcp-join-check-re-using-id-of-unused-add.patch queue-6.1/selftests-mptcp-join-check-re-using-id-of-unused-add_addr.patch ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd 2024-09-04 11:06 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Matthieu Baerts (NGI0) 2024-09-04 11:06 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0) 2024-09-04 14:32 ` Patch "selftests: mptcp: add explicit test case for remove/readd" has been added to the 6.1-stable tree gregkh @ 2024-09-04 14:33 ` Greg KH 2 siblings, 0 replies; 6+ messages in thread From: Greg KH @ 2024-09-04 14:33 UTC (permalink / raw) To: Matthieu Baerts (NGI0) Cc: stable, MPTCP Upstream, Paolo Abeni, David S . Miller On Wed, Sep 04, 2024 at 01:06:12PM +0200, Matthieu Baerts (NGI0) wrote: > From: Paolo Abeni <pabeni@redhat.com> > > commit b5e2fb832f48bc01d937a053e0550a1465a2f05d upstream. > Applied ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-09-04 14:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <2024082618-wilt-deafness-0a89@gregkh>
2024-09-04 11:06 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Matthieu Baerts (NGI0)
2024-09-04 11:06 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0)
2024-09-04 14:32 ` Patch "selftests: mptcp: join: test for flush/re-add endpoints" has been added to the 6.1-stable tree gregkh
2024-09-04 14:33 ` [PATCH 6.1.y 2/2] selftests: mptcp: join: test for flush/re-add endpoints Greg KH
2024-09-04 14:32 ` Patch "selftests: mptcp: add explicit test case for remove/readd" has been added to the 6.1-stable tree gregkh
2024-09-04 14:33 ` [PATCH 6.1.y 1/2] selftests: mptcp: add explicit test case for remove/readd Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox