All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next v2 0/2] cleanups for main_loop
@ 2025-03-19  3:39 Geliang Tang
  2025-03-19  3:39 ` [PATCH mptcp-next v2 1/2] selftests: mptcp: open cfg_input once in main_loop Geliang Tang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Geliang Tang @ 2025-03-19  3:39 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

From: Geliang Tang <tanggeliang@kylinos.cn>

v2:
 - update the pending patches from Cong Liu, he said to me that he has
   no time to deal with this recently.
 - delete the second "open(cfg_input)" instead of the first one as Matt
   suggested.
 - drop freeaddrinfo, no need to do this.

Based-on: <59caf78b9d67a0a61a19a46f7820456f6ced3d6e.1742296236.git.tanggeliang@kylinos.cn>

v1:
 - https://patchwork.kernel.org/project/mptcp/cover/20250113085228.121778-1-liucong2@kylinos.cn/

Geliang Tang (2):
  selftests: mptcp: open cfg_input once in main_loop
  selftests: mptcp: close fds when copyfd_io fails

 .../testing/selftests/net/mptcp/mptcp_connect.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

-- 
2.43.0


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

* [PATCH mptcp-next v2 1/2] selftests: mptcp: open cfg_input once in main_loop
  2025-03-19  3:39 [PATCH mptcp-next v2 0/2] cleanups for main_loop Geliang Tang
@ 2025-03-19  3:39 ` Geliang Tang
  2025-03-19  3:39 ` [PATCH mptcp-next v2 2/2] selftests: mptcp: close fds when copyfd_io fails Geliang Tang
  2025-03-19  4:47 ` [PATCH mptcp-next v2 0/2] cleanups for main_loop MPTCP CI
  2 siblings, 0 replies; 5+ messages in thread
From: Geliang Tang @ 2025-03-19  3:39 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang, Cong Liu

From: Geliang Tang <tanggeliang@kylinos.cn>

cfg_input is opened twice regardless of whether cfg_sockopt_types.mptfo
is configured. This can be simplified to open it once at the beginning
of main_loop() and close it at the end, because no need to repeatedly
open and close cfg_input during cfg_repeat.

Co-developed-by: Cong Liu <liucong2@kylinos.cn>
Signed-off-by: Cong Liu <liucong2@kylinos.cn>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/mptcp_connect.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.c b/tools/testing/selftests/net/mptcp/mptcp_connect.c
index 893dc36b12f6..5301062a5f3b 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.c
@@ -1268,7 +1268,7 @@ int main_loop(void)
 	struct addrinfo *peer;
 	struct wstate winfo;
 
-	if (cfg_input && cfg_sockopt_types.mptfo) {
+	if (cfg_input) {
 		fd_in = open(cfg_input, O_RDONLY);
 		if (fd_in < 0)
 			xerror("can't open %s:%d", cfg_input, errno);
@@ -1291,12 +1291,6 @@ int main_loop(void)
 	if (cfg_cmsg_types.cmsg_enabled)
 		apply_cmsg_types(fd, &cfg_cmsg_types);
 
-	if (cfg_input && !cfg_sockopt_types.mptfo) {
-		fd_in = open(cfg_input, O_RDONLY);
-		if (fd_in < 0)
-			xerror("can't open %s:%d", cfg_input, errno);
-	}
-
 	ret = copyfd_io(fd_in, fd, 1, 0, &winfo);
 	if (ret)
 		return ret;
@@ -1312,14 +1306,14 @@ int main_loop(void)
 		set_nonblock(fd, false);
 		if (connect(fd, peer->ai_addr, peer->ai_addrlen))
 			xerror("can't reconnect: %d", errno);
-		if (cfg_input)
-			close(fd_in);
 		memset(&winfo, 0, sizeof(winfo));
 		goto again;
 	} else {
 		close(fd);
 	}
 
+	if (cfg_input)
+		close(fd_in);
 	return 0;
 }
 
-- 
2.43.0


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

* [PATCH mptcp-next v2 2/2] selftests: mptcp: close fds when copyfd_io fails
  2025-03-19  3:39 [PATCH mptcp-next v2 0/2] cleanups for main_loop Geliang Tang
  2025-03-19  3:39 ` [PATCH mptcp-next v2 1/2] selftests: mptcp: open cfg_input once in main_loop Geliang Tang
@ 2025-03-19  3:39 ` Geliang Tang
  2025-03-19  4:47 ` [PATCH mptcp-next v2 0/2] cleanups for main_loop MPTCP CI
  2 siblings, 0 replies; 5+ messages in thread
From: Geliang Tang @ 2025-03-19  3:39 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang, Cong Liu

From: Geliang Tang <tanggeliang@kylinos.cn>

When copyfd_io fails, it should not simply return an error, but should
close all open file descriptors before that. Here an "out" tag is added
to do this.

Fixes: 05be5e273c84 ("selftests: mptcp: add disconnect tests")
Co-developed-by: Cong Liu <liucong2@kylinos.cn>
Signed-off-by: Cong Liu <liucong2@kylinos.cn>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
 tools/testing/selftests/net/mptcp/mptcp_connect.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.c b/tools/testing/selftests/net/mptcp/mptcp_connect.c
index 5301062a5f3b..f190f95a3338 100644
--- a/tools/testing/selftests/net/mptcp/mptcp_connect.c
+++ b/tools/testing/selftests/net/mptcp/mptcp_connect.c
@@ -1293,7 +1293,7 @@ int main_loop(void)
 
 	ret = copyfd_io(fd_in, fd, 1, 0, &winfo);
 	if (ret)
-		return ret;
+		goto out;
 
 	if (cfg_truncate > 0) {
 		shutdown(fd, SHUT_WR);
@@ -1309,12 +1309,13 @@ int main_loop(void)
 		memset(&winfo, 0, sizeof(winfo));
 		goto again;
 	} else {
+out:
 		close(fd);
 	}
 
 	if (cfg_input)
 		close(fd_in);
-	return 0;
+	return ret;
 }
 
 int parse_proto(const char *proto)
-- 
2.43.0


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

* Re: [PATCH mptcp-next v2 0/2] cleanups for main_loop
  2025-03-19  3:39 [PATCH mptcp-next v2 0/2] cleanups for main_loop Geliang Tang
  2025-03-19  3:39 ` [PATCH mptcp-next v2 1/2] selftests: mptcp: open cfg_input once in main_loop Geliang Tang
  2025-03-19  3:39 ` [PATCH mptcp-next v2 2/2] selftests: mptcp: close fds when copyfd_io fails Geliang Tang
@ 2025-03-19  4:47 ` MPTCP CI
  2025-03-19  5:44   ` Geliang Tang
  2 siblings, 1 reply; 5+ messages in thread
From: MPTCP CI @ 2025-03-19  4:47 UTC (permalink / raw)
  To: Geliang Tang; +Cc: mptcp

Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Unstable: 1 failed test(s): selftest_mptcp_connect 🔴
- KVM Validation: debug: Unstable: 1 failed test(s): selftest_mptcp_connect 🔴
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/13938550896

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/ee7ab4397474
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=945419


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)

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

* Re: [PATCH mptcp-next v2 0/2] cleanups for main_loop
  2025-03-19  4:47 ` [PATCH mptcp-next v2 0/2] cleanups for main_loop MPTCP CI
@ 2025-03-19  5:44   ` Geliang Tang
  0 siblings, 0 replies; 5+ messages in thread
From: Geliang Tang @ 2025-03-19  5:44 UTC (permalink / raw)
  To: mptcp, Geliang Tang

On Wed, 2025-03-19 at 04:47 +0000, MPTCP CI wrote:
> Hi Geliang,
> 
> Thank you for your modifications, that's great!
> 
> Our CI did some validations and here is its report:
> 
> - KVM Validation: normal: Unstable: 1 failed test(s):
> selftest_mptcp_connect 🔴
> - KVM Validation: debug: Unstable: 1 failed test(s):
> selftest_mptcp_connect 🔴

Oops, I fixed this in v3.

Thanks,
-Geliang

> - KVM Validation: btf-normal (only bpftest_all): Success! ✅
> - KVM Validation: btf-debug (only bpftest_all): Success! ✅
> - Task:
> https://github.com/multipath-tcp/mptcp_net-next/actions/runs/13938550896
> 
> Initiator: Patchew Applier
> Commits:
> https://github.com/multipath-tcp/mptcp_net-next/commits/ee7ab4397474
> Patchwork:
> https://patchwork.kernel.org/project/mptcp/list/?series=945419
> 
> 
> If there are some issues, you can reproduce them using the same
> environment as
> the one used by the CI thanks to a docker image, e.g.:
> 
>     $ cd [kernel source code]
>     $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm
> -it \
>         --pull always mptcp/mptcp-upstream-virtme-docker:latest \
>         auto-normal
> 
> For more details:
> 
>     https://github.com/multipath-tcp/mptcp-upstream-virtme-docker
> 
> 
> Please note that despite all the efforts that have been already done
> to have a
> stable tests suite when executed on a public CI like here, it is
> possible some
> reported issues are not due to your modifications. Still, do not
> hesitate to
> help us improve that ;-)
> 
> Cheers,
> MPTCP GH Action bot
> Bot operated by Matthieu Baerts (NGI0 Core)
> 


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

end of thread, other threads:[~2025-03-19  5:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-19  3:39 [PATCH mptcp-next v2 0/2] cleanups for main_loop Geliang Tang
2025-03-19  3:39 ` [PATCH mptcp-next v2 1/2] selftests: mptcp: open cfg_input once in main_loop Geliang Tang
2025-03-19  3:39 ` [PATCH mptcp-next v2 2/2] selftests: mptcp: close fds when copyfd_io fails Geliang Tang
2025-03-19  4:47 ` [PATCH mptcp-next v2 0/2] cleanups for main_loop MPTCP CI
2025-03-19  5:44   ` Geliang Tang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.