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); }