The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=ce9c4673829561bf66c78577be2b078d5662a33b

commit ce9c4673829561bf66c78577be2b078d5662a33b
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2025-04-02 16:21:04 +0000
Commit:     Gleb Smirnoff <gleb...@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);
 }
 

Reply via email to