* [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