stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* FAILED: patch "[PATCH] selftests: mptcp: join: cannot rm sf if closed" failed to apply to 6.6-stable tree
@ 2024-08-30 10:26 gregkh
  2024-09-03 10:18 ` [PATCH 6.6.y] selftests: mptcp: join: cannot rm sf if closed Matthieu Baerts (NGI0)
  0 siblings, 1 reply; 4+ messages in thread
From: gregkh @ 2024-08-30 10:26 UTC (permalink / raw)
  To: matttbe, kuba, martineau; +Cc: stable


The patch below does not apply to the 6.6-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.6.y
git checkout FETCH_HEAD
git cherry-pick -x e93681afcb96864ec26c3b2ce94008ce93577373
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2024083052-unedited-earache-8049@gregkh' --subject-prefix 'PATCH 6.6.y' HEAD^..

Possible dependencies:

e93681afcb96 ("selftests: mptcp: join: cannot rm sf if closed")
23a0485d1c04 ("selftests: mptcp: declare event macros in mptcp_lib")
4cc5cc7ca052 ("selftests: mptcp: userspace pm get addr tests")
38f027fca1b7 ("selftests: mptcp: dump userspace addrs list")
7092dbee2328 ("selftests: mptcp: rm subflow with v4/v4mapped addr")
b850f2c7dd85 ("selftests: mptcp: add mptcp_lib_is_v6")
bdbef0a6ff10 ("selftests: mptcp: add mptcp_lib_kill_wait")
b2e2248f365a ("selftests: mptcp: userspace pm create id 0 subflow")
757c828ce949 ("selftests: mptcp: update userspace pm test helpers")
80775412882e ("selftests: mptcp: add chk_subflows_total helper")
06848c0f341e ("selftests: mptcp: add evts_get_info helper")
9168ea02b898 ("selftests: mptcp: fix wait_rm_addr/sf parameters")
f4a75e9d1100 ("selftests: mptcp: run userspace pm tests slower")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From e93681afcb96864ec26c3b2ce94008ce93577373 Mon Sep 17 00:00:00 2001
From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Date: Mon, 26 Aug 2024 19:11:19 +0200
Subject: [PATCH] selftests: mptcp: join: cannot rm sf if closed

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.

Fixes: 4369c198e599 ("selftests: mptcp: test userspace pm out of transfer")
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/20240826-net-mptcp-close-extra-sf-fin-v1-2-905199fe1172@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index 89e553e0e0c2..264040a760c6 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3429,14 +3429,12 @@ userspace_tests()
 			"signal"
 		userspace_pm_chk_get_addr "${ns1}" "10" "id 10 flags signal 10.0.2.1"
 		userspace_pm_chk_get_addr "${ns1}" "20" "id 20 flags signal 10.0.3.1"
-		userspace_pm_rm_addr $ns1 10
 		userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $MPTCP_LIB_EVENT_SUB_ESTABLISHED
 		userspace_pm_chk_dump_addr "${ns1}" \
-			"id 20 flags signal 10.0.3.1" "after rm_addr 10"
+			"id 20 flags signal 10.0.3.1" "after rm_sf 10"
 		userspace_pm_rm_addr $ns1 20
-		userspace_pm_rm_sf $ns1 10.0.3.1 $MPTCP_LIB_EVENT_SUB_ESTABLISHED
 		userspace_pm_chk_dump_addr "${ns1}" "" "after rm_addr 20"
-		chk_rm_nr 2 2 invert
+		chk_rm_nr 1 1 invert
 		chk_mptcp_info subflows 0 subflows 0
 		chk_subflows_total 1 1
 		kill_events_pids
@@ -3460,12 +3458,11 @@ userspace_tests()
 			"id 20 flags subflow 10.0.3.2" \
 			"subflow"
 		userspace_pm_chk_get_addr "${ns2}" "20" "id 20 flags subflow 10.0.3.2"
-		userspace_pm_rm_addr $ns2 20
 		userspace_pm_rm_sf $ns2 10.0.3.2 $MPTCP_LIB_EVENT_SUB_ESTABLISHED
 		userspace_pm_chk_dump_addr "${ns2}" \
 			"" \
-			"after rm_addr 20"
-		chk_rm_nr 1 1
+			"after rm_sf 20"
+		chk_rm_nr 0 1
 		chk_mptcp_info subflows 0 subflows 0
 		chk_subflows_total 1 1
 		kill_events_pids


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 6.6.y] selftests: mptcp: join: cannot rm sf if closed
  2024-08-30 10:26 FAILED: patch "[PATCH] selftests: mptcp: join: cannot rm sf if closed" failed to apply to 6.6-stable tree gregkh
@ 2024-09-03 10:18 ` Matthieu Baerts (NGI0)
  2024-09-04 13:43   ` Matthieu Baerts
  0 siblings, 1 reply; 4+ messages in thread
From: Matthieu Baerts (NGI0) @ 2024-09-03 10:18 UTC (permalink / raw)
  To: stable, gregkh
  Cc: MPTCP Upstream, Matthieu Baerts (NGI0), Mat Martineau,
	Jakub Kicinski

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.

Fixes: 4369c198e599 ("selftests: mptcp: test userspace pm out of transfer")
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/20240826-net-mptcp-close-extra-sf-fin-v1-2-905199fe1172@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ Conflicts in mptcp_join.sh, due to commit 38f027fca1b7 ("selftests:
  mptcp: dump userspace addrs list") -- linked to a new feature, not
  backportable to stable -- and commit 23a0485d1c04 ("selftests: mptcp:
  declare event macros in mptcp_lib") not in this version. The conflicts
  have been resolved by applying the same modifications except in the
  parameters given to userspace_pm_chk_dump_addr helpers, which are not
  used here. ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh
index a338ad9b779c..176790507019 100755
--- a/tools/testing/selftests/net/mptcp/mptcp_join.sh
+++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh
@@ -3513,11 +3513,9 @@ userspace_tests()
 		chk_mptcp_info subflows 2 subflows 2
 		chk_subflows_total 3 3
 		chk_mptcp_info add_addr_signal 2 add_addr_accepted 2
-		userspace_pm_rm_addr $ns1 10
 		userspace_pm_rm_sf $ns1 "::ffff:10.0.2.1" $SUB_ESTABLISHED
 		userspace_pm_rm_addr $ns1 20
-		userspace_pm_rm_sf $ns1 10.0.3.1 $SUB_ESTABLISHED
-		chk_rm_nr 2 2 invert
+		chk_rm_nr 1 1 invert
 		chk_mptcp_info subflows 0 subflows 0
 		chk_subflows_total 1 1
 		kill_events_pids
@@ -3537,9 +3535,8 @@ userspace_tests()
 		chk_join_nr 1 1 1
 		chk_mptcp_info subflows 1 subflows 1
 		chk_subflows_total 2 2
-		userspace_pm_rm_addr $ns2 20
 		userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED
-		chk_rm_nr 1 1
+		chk_rm_nr 0 1
 		chk_mptcp_info subflows 0 subflows 0
 		chk_subflows_total 1 1
 		kill_events_pids
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 6.6.y] selftests: mptcp: join: cannot rm sf if closed
  2024-09-03 10:18 ` [PATCH 6.6.y] selftests: mptcp: join: cannot rm sf if closed Matthieu Baerts (NGI0)
@ 2024-09-04 13:43   ` Matthieu Baerts
  2024-09-04 14:22     ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Matthieu Baerts @ 2024-09-04 13:43 UTC (permalink / raw)
  To: gregkh, Sasha Levin; +Cc: MPTCP Upstream, Mat Martineau, Jakub Kicinski, stable

Hi Greg, Sasha,

On 03/09/2024 12:18, Matthieu Baerts (NGI0) wrote:
> 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.
FYI, Sasha has recently queued this patch to v6.6, with a bunch of
dependences.

I'm OK with that, no need to take this version here where I resolved the
conflicts not to take the dependences. But then, please also queue the 2
patches that are needed for new dependences that have been added:

  https://lore.kernel.org/20240904133755.67974-4-matttbe@kernel.org

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 6.6.y] selftests: mptcp: join: cannot rm sf if closed
  2024-09-04 13:43   ` Matthieu Baerts
@ 2024-09-04 14:22     ` Greg KH
  0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2024-09-04 14:22 UTC (permalink / raw)
  To: Matthieu Baerts
  Cc: Sasha Levin, MPTCP Upstream, Mat Martineau, Jakub Kicinski,
	stable

On Wed, Sep 04, 2024 at 03:43:03PM +0200, Matthieu Baerts wrote:
> Hi Greg, Sasha,
> 
> On 03/09/2024 12:18, Matthieu Baerts (NGI0) wrote:
> > 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.
> FYI, Sasha has recently queued this patch to v6.6, with a bunch of
> dependences.
> 
> I'm OK with that, no need to take this version here where I resolved the
> conflicts not to take the dependences. But then, please also queue the 2
> patches that are needed for new dependences that have been added:
> 
>   https://lore.kernel.org/20240904133755.67974-4-matttbe@kernel.org

Ok, I think I've got this all right for 6.6.y now, if not, please let me
know.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-09-04 14:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-30 10:26 FAILED: patch "[PATCH] selftests: mptcp: join: cannot rm sf if closed" failed to apply to 6.6-stable tree gregkh
2024-09-03 10:18 ` [PATCH 6.6.y] selftests: mptcp: join: cannot rm sf if closed Matthieu Baerts (NGI0)
2024-09-04 13:43   ` Matthieu Baerts
2024-09-04 14:22     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).