public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/2] selftests: net: improve error handling in passive TFO test
@ 2026-01-12  8:51 Yohei Kojima
  2026-01-12  8:51 ` [PATCH net-next 1/2] selftests: net: fix passive TFO test to fail if child processes failed Yohei Kojima
  2026-01-12  8:51 ` [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
  0 siblings, 2 replies; 7+ messages in thread
From: Yohei Kojima @ 2026-01-12  8:51 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Shuah Khan
  Cc: netdev, linux-kselftest, linux-kernel, Yohei Kojima

This series improves error handling in the passive TFO test by (1)
fixing a broken behavior when the child processes failed (or timed out),
and (2) adding more error handlng code in the test program.

The first patch fixes the behavior that the test didn't report failure
even if the server or the client process exited with non-zero status.
The second patch adds error handling code in the test program to improve
reliability of the test.

This series was split out from the following series to address the
feedback from Andrew Lunn:
https://lore.kernel.org/netdev/cover.1767032397.git.yk@y-koj.net/

Yohei Kojima (2):
  selftests: net: fix passive TFO test to fail if child processes failed
  selftests: net: improve error handling in passive TFO test

 tools/testing/selftests/net/tfo.c          | 10 +++++++---
 tools/testing/selftests/net/tfo_passive.sh | 13 ++++++++++++-
 2 files changed, 19 insertions(+), 4 deletions(-)

-- 
2.52.0


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

* [PATCH net-next 1/2] selftests: net: fix passive TFO test to fail if child processes failed
  2026-01-12  8:51 [PATCH net-next 0/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
@ 2026-01-12  8:51 ` Yohei Kojima
  2026-01-12  8:51 ` [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
  1 sibling, 0 replies; 7+ messages in thread
From: Yohei Kojima @ 2026-01-12  8:51 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Shuah Khan
  Cc: Yohei Kojima, netdev, linux-kselftest, linux-kernel

This commit improves the passive TFO test to report failure if the
server or the cliend timed out or exited with non-zero status.

Before this commit, TFO test didn't fail even if exit(EXIT_FAILURE) is
added to the first line of the run_server() and run_client() functions.

Signed-off-by: Yohei Kojima <yk@y-koj.net>
---
 tools/testing/selftests/net/tfo_passive.sh | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/tfo_passive.sh b/tools/testing/selftests/net/tfo_passive.sh
index a4550511830a..f116f888b794 100755
--- a/tools/testing/selftests/net/tfo_passive.sh
+++ b/tools/testing/selftests/net/tfo_passive.sh
@@ -85,12 +85,15 @@ timeout -k 1s 30s ip netns exec nssv ./tfo        \
 				-s                \
 				-p ${SERVER_PORT} \
 				-o ${out_file}&
+server_pid="$!"
 
 wait_local_port_listen nssv ${SERVER_PORT} tcp
 
 ip netns exec nscl ./tfo -c -h ${SERVER_IP} -p ${SERVER_PORT}
+client_exit_status="$?"
 
-wait
+wait "$server_pid"
+server_exit_status="$?"
 
 res=$(cat $out_file)
 rm $out_file
@@ -101,6 +104,14 @@ if [ "$res" = "0" ]; then
 	exit 1
 fi
 
+if [ "$client_exit_status" -ne 0 ] || [ "$server_exit_status" -ne 0 ]; then
+	# Note: timeout(1) exits with 124 if it timed out
+	echo "client exited with ${client_exit_status}"
+	echo "server exited with ${server_exit_status}"
+	cleanup_ns
+	exit 1
+fi
+
 echo "$NSIM_SV_FD:$NSIM_SV_IFIDX" > $NSIM_DEV_SYS_UNLINK
 
 echo $NSIM_CL_ID > $NSIM_DEV_SYS_DEL
-- 
2.52.0


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

* [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test
  2026-01-12  8:51 [PATCH net-next 0/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
  2026-01-12  8:51 ` [PATCH net-next 1/2] selftests: net: fix passive TFO test to fail if child processes failed Yohei Kojima
@ 2026-01-12  8:51 ` Yohei Kojima
  2026-01-12 19:55   ` Markus Elfring
  2026-01-13  9:46   ` Markus Elfring
  1 sibling, 2 replies; 7+ messages in thread
From: Yohei Kojima @ 2026-01-12  8:51 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Shuah Khan
  Cc: Yohei Kojima, netdev, linux-kselftest, linux-kernel

This commit improves the error handling in passive TFO test to check the
return value from sendto(), and  to fail if read() failed.

Signed-off-by: Yohei Kojima <yk@y-koj.net>
---
 tools/testing/selftests/net/tfo.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/tfo.c b/tools/testing/selftests/net/tfo.c
index 8d82140f0f76..4572eb9b8968 100644
--- a/tools/testing/selftests/net/tfo.c
+++ b/tools/testing/selftests/net/tfo.c
@@ -82,7 +82,8 @@ static void run_server(void)
 		error(1, errno, "getsockopt(SO_INCOMING_NAPI_ID)");
 
 	if (read(connfd, buf, 64) < 0)
-		perror("read()");
+		error(1, errno, "read()");
+
 	fprintf(outfile, "%d\n", opt);
 
 	fclose(outfile);
@@ -92,14 +93,17 @@ static void run_server(void)
 
 static void run_client(void)
 {
-	int fd;
+	int fd, ret;
 	char *msg = "Hello, world!";
 
 	fd = socket(AF_INET6, SOCK_STREAM, 0);
 	if (fd == -1)
 		error(1, errno, "socket()");
 
-	sendto(fd, msg, strlen(msg), MSG_FASTOPEN, (struct sockaddr *)&cfg_addr, sizeof(cfg_addr));
+	ret = sendto(fd, msg, strlen(msg), MSG_FASTOPEN,
+		     (struct sockaddr *)&cfg_addr, sizeof(cfg_addr));
+	if (ret < 0)
+		error(1, errno, "sendto()");
 
 	close(fd);
 }
-- 
2.52.0


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

* Re: [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test
  2026-01-12  8:51 ` [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
@ 2026-01-12 19:55   ` Markus Elfring
  2026-01-13  1:46     ` Yohei Kojima
  2026-01-13  9:46   ` Markus Elfring
  1 sibling, 1 reply; 7+ messages in thread
From: Markus Elfring @ 2026-01-12 19:55 UTC (permalink / raw)
  To: Yohei Kojima, linux-kselftest, netdev, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Shuah Khan,
	Simon Horman
  Cc: LKML

> This commit improves the error handling in …

See also once more:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.19-rc4#n94

Regards,
Markus

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

* Re: [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test
  2026-01-12 19:55   ` Markus Elfring
@ 2026-01-13  1:46     ` Yohei Kojima
  0 siblings, 0 replies; 7+ messages in thread
From: Yohei Kojima @ 2026-01-13  1:46 UTC (permalink / raw)
  To: Markus Elfring
  Cc: linux-kselftest, netdev, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, LKML

On Mon, Jan 12, 2026 at 08:55:10PM +0100, Markus Elfring wrote:
> > This commit improves the error handling in …
> 
> See also once more:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.19-rc4#n94

Thank you for the feedback. I will rephrase the patch description in
imperative mood as suggested.

(I also found a typo "cliend", which will be fixed in v2 too.)

> 
> Regards,
> Markus

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

* Re: [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test
  2026-01-12  8:51 ` [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
  2026-01-12 19:55   ` Markus Elfring
@ 2026-01-13  9:46   ` Markus Elfring
  2026-01-13 14:22     ` Yohei Kojima
  1 sibling, 1 reply; 7+ messages in thread
From: Markus Elfring @ 2026-01-13  9:46 UTC (permalink / raw)
  To: Yohei Kojima, linux-kselftest, netdev, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Shuah Khan,
	Simon Horman
  Cc: LKML

> This commit improves the error handling in passive TFO test to check the
> return value from … and  to fail if read() failed.

Would any developers and system testers like to care more also for data output failures?
https://elixir.bootlin.com/linux/v6.19-rc4/source/tools/testing/selftests/net/tfo.c#L86-L88
https://cwe.mitre.org/data/definitions/252.html

Regards,
Markus

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

* Re: [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test
  2026-01-13  9:46   ` Markus Elfring
@ 2026-01-13 14:22     ` Yohei Kojima
  0 siblings, 0 replies; 7+ messages in thread
From: Yohei Kojima @ 2026-01-13 14:22 UTC (permalink / raw)
  To: Markus Elfring
  Cc: linux-kselftest, netdev, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, LKML

On Tue, Jan 13, 2026 at 10:46:10AM +0100, Markus Elfring wrote:
> > This commit improves the error handling in passive TFO test to check the
> > return value from … and  to fail if read() failed.
> 
> Would any developers and system testers like to care more also for data output failures?
> https://elixir.bootlin.com/linux/v6.19-rc4/source/tools/testing/selftests/net/tfo.c#L86-L88
> https://cwe.mitre.org/data/definitions/252.html

That's right. Although we can assume that fprintf() usually succeeds,
it worth checking its return value as tfo_passive.sh relies on the
content of the output.

I posted the v2 series adding fprintf() error handling here:
https://lore.kernel.org/netdev/cover.1768312014.git.yk@y-koj.net/

Thank you,
Yohei

> 
> Regards,
> Markus

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

end of thread, other threads:[~2026-01-13 14:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-12  8:51 [PATCH net-next 0/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
2026-01-12  8:51 ` [PATCH net-next 1/2] selftests: net: fix passive TFO test to fail if child processes failed Yohei Kojima
2026-01-12  8:51 ` [PATCH net-next 2/2] selftests: net: improve error handling in passive TFO test Yohei Kojima
2026-01-12 19:55   ` Markus Elfring
2026-01-13  1:46     ` Yohei Kojima
2026-01-13  9:46   ` Markus Elfring
2026-01-13 14:22     ` Yohei Kojima

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox