summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2026-08-24 11:40:32 -0700
committerJakub Kicinski <kuba@kernel.org>2026-08-24 11:40:33 -0700
commit0a90e8f4e268e7cabe6a355e76f0e199be3ee185 (patch)
tree2ad37d06a62a2db9de5aeb56bec312346579c342
parent403f96c32c9e24600093d7d0c61c17daeedca957 (diff)
parent11e41444a3f6d854937672343a040607c219db0f (diff)
Merge branch 'selftests-net-fixes-for-fin_ack_lat'
Qingshuang Fu says: ==================== selftests/net: fixes for fin_ack_lat This series fixes two bugs in the fin_ack_lat self-test. Patch 1 fixes the swapped kill() arguments in sig_handler(), so the server actually forwards SIGTERM to the client. It also makes the wrapper script's cleanup tolerant of ESRCH, since the client may now exit before the kill command reaches its PID. Patch 2 adds a missing fork() error check: on failure the code falls into server()'s infinite accept loop, producing empty output that the wrapper script treats as a passing test. ==================== Link: https://patch.msgid.link/20260821030922.1123754-1-fffsqian@163.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--tools/testing/selftests/net/fin_ack_lat.c5
-rwxr-xr-xtools/testing/selftests/net/fin_ack_lat.sh2
2 files changed, 5 insertions, 2 deletions
diff --git a/tools/testing/selftests/net/fin_ack_lat.c b/tools/testing/selftests/net/fin_ack_lat.c
index 4117332eb1a9..4068f8e227cf 100644
--- a/tools/testing/selftests/net/fin_ack_lat.c
+++ b/tools/testing/selftests/net/fin_ack_lat.c
@@ -103,7 +103,8 @@ static void server(int sock, struct sockaddr_in address)
static void sig_handler(int signum)
{
- kill(SIGTERM, child_pid);
+ if (child_pid > 0)
+ kill(child_pid, SIGTERM);
exit(0);
}
@@ -142,6 +143,8 @@ int main(int argc, char const *argv[])
fprintf(stderr, "server port: %d\n", ntohs(laddr.sin_port));
child_pid = fork();
+ if (child_pid < 0)
+ error(-1, errno, "fork");
if (!child_pid)
client(ntohs(laddr.sin_port));
else
diff --git a/tools/testing/selftests/net/fin_ack_lat.sh b/tools/testing/selftests/net/fin_ack_lat.sh
index a3ff6e0b2c7a..a8aa2238ab5c 100755
--- a/tools/testing/selftests/net/fin_ack_lat.sh
+++ b/tools/testing/selftests/net/fin_ack_lat.sh
@@ -9,7 +9,7 @@ set -e
tmpfile=$(mktemp /tmp/fin_ack_latency.XXXX.log)
cleanup() {
- kill $(pidof fin_ack_lat)
+ kill $(pidof fin_ack_lat) 2>/dev/null || true
rm -f $tmpfile
}