git: ce9c46738295 - main - ktrace tests: don't use INADDR_ANY as a destination for sendto(2)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 02 Apr 2025 16:25:33 UTC
The branch main has been updated by glebius:
URL: https://cgit.FreeBSD.org/src/commit/?id=ce9c4673829561bf66c78577be2b078d5662a33b
commit ce9c4673829561bf66c78577be2b078d5662a33b
Author: Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2025-04-02 16:21:04 +0000
Commit: Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2025-04-02 16:25:01 +0000
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
---
tests/sys/kern/ktrace_test.c | 9 ++++-----
1 file 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);
}