aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2025-04-02 16:21:04 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2025-04-02 16:25:01 +0000
commitce9c4673829561bf66c78577be2b078d5662a33b (patch)
tree62e73fa2db0ebd07ce0194ec805d9e647330fa36
parente85aaed60eb061f31b2f1e5dc92b0ff0419b5fbf (diff)
ktrace tests: don't use INADDR_ANY as a destination for sendto(2)
The INADDR_ANY is a broadcast address, and with recent changes its use as destination for UDP sendto(2) was disallowed unless SO_BROADCAST is set. Use just a localhost address for a successful sendto(2). While here convert a couple checks that happen in the parent to use normal ATF_REQUIRE() instead of CHILD_REQUIRE(). PR: 285851 Fixes: 3b281d1421a78b588c5fc4182009ce62d8823d95
-rw-r--r--tests/sys/kern/ktrace_test.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/tests/sys/kern/ktrace_test.c b/tests/sys/kern/ktrace_test.c
index dfd60b73a5cd..785c78bedaba 100644
--- a/tests/sys/kern/ktrace_test.c
+++ b/tests/sys/kern/ktrace_test.c
@@ -378,12 +378,11 @@ ATF_TC_BODY(ktrace__cap_sockaddr, tc)
ATF_REQUIRE(sigaddset(&set, SIGUSR1) != -1);
ATF_REQUIRE(sigprocmask(SIG_BLOCK, &set, NULL) != -1);
- CHILD_REQUIRE((sfd = socket(AF_INET, SOCK_DGRAM,
- IPPROTO_UDP)) != -1);
+ ATF_REQUIRE((sfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) != -1);
addr.sin_family = AF_INET;
addr.sin_port = htons(5000);
- addr.sin_addr.s_addr = INADDR_ANY;
- CHILD_REQUIRE(bind(sfd, (const struct sockaddr *)&addr,
+ addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ ATF_REQUIRE(bind(sfd, (const struct sockaddr *)&addr,
sizeof(addr)) != -1);
ATF_REQUIRE((pid = fork()) != -1);
@@ -409,7 +408,7 @@ ATF_TC_BODY(ktrace__cap_sockaddr, tc)
saddr = (struct sockaddr_in *)&violation.cap_data.cap_sockaddr;
ATF_REQUIRE_EQ(saddr->sin_family, AF_INET);
ATF_REQUIRE_EQ(saddr->sin_port, htons(5000));
- ATF_REQUIRE_EQ(saddr->sin_addr.s_addr, INADDR_ANY);
+ ATF_REQUIRE_EQ(saddr->sin_addr.s_addr, htonl(INADDR_LOOPBACK));
close(sfd);
}