From nobody Tue Jun 23 15:21:24 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gl8102l6nz6hb8D for ; Tue, 23 Jun 2026 15:21:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gl8101vnsz47ZB for ; Tue, 23 Jun 2026 15:21:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782228084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=712c3zQk1s+MDbc6Uhets56a0iZJ9/fXBPDKk0uqClw=; b=gtjqTskA0S3yLuLdEt3n1KO7W5v4jl14wVJQeGE4e+rQie22Na18e1AZG06+d+TX6AMEev Mz/aNJz268TfXdD337XgKUP4WzVUqVXhPEdCfKqNcrzju5oau4M6/nM4i6xf5eWBVU2ZVM Pxs5Zg5FXdYj/mhRZuTywHerNoFx4f9YiISS8MXgBaUD5gSek8iudesaCHMD4yGHAJhcwx Tg5aJ+SVUU575EJZyKEubPGTdA59QtfJjJ0m1+8O6CogBEOB0EysvXEho8xaE1j2ZXsl95 ZalahW8nglP18xv5GAwxNpIFwfR+n1Yr3b4j5KRTt4o8RXDJu8i69sSJGuPtfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1782228084; a=rsa-sha256; cv=none; b=n+oiVhjMvhFwapkxvM6qxwM3DL2Ohw3kb6zgu+y5CF4bxq2vfOedprQzDaXqvbv14j4XyV Lx3z40X504ywZTf9CfkJNGiAZYvx9UXPyNHKA/Lg+h9ndIA8R6FuEsMI+GYVcM+YKjTHzg 3UXCzday6D75y2NsU/cl88k2Cl+htlKRDpRs5TB+1UcuELNmVYhR3uGpCiLLP2Lwp+5TlX DymVLU1hLOaAIO6OCFpY3Z2TFC9INlJIPtx2Mrd8Ef6ZxXNi3H1SFOrLW6tEzBtYXAbpoX a3ONdgoI4/7YmN8grj/ZaqQVA0g3Jz9clwwOE7nxQ0+jO/GRadA+YZ/K+g4RyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782228084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=712c3zQk1s+MDbc6Uhets56a0iZJ9/fXBPDKk0uqClw=; b=ZIJDba8tgjDY7xJWo46GWFU9C2+7Tay7wlK9f5TEhOtdb8nioAiOpmfbs9yWjYY1QvcfIH UkoF8YScxIJIKlhpyTr4jtQYisNg1+l5goAA4WtfjmzDDK4zz/aYQ0u7wwHI/pQUWZxWaX PNzn9WgyWnqI6Gdo3QNeoiAdCPcWOmfw3Q40TzKZSk8UT4t2VQjvykfP0EROHaEJRLZZsx q69w4BVMCmkHfRtZPMn7XatsCbal5EjoEP/2dvZq6laM2wf53GERY3FiAFl/Uu51QqA9Bz x2ChAPOpcsgqLO54vwR8nkl2o81fU7/kENnpRPIezqLOWY4Yz4oYxORLLxLFjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gl8100dh4zgSZ for ; Tue, 23 Jun 2026 15:21:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20dd5 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 23 Jun 2026 15:21:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 86950cf9ffe8 - main - tests: Fix race condition in aslr_setuid, take 2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 86950cf9ffe89b7978fca019019692b3ea492044 Auto-Submitted: auto-generated Date: Tue, 23 Jun 2026 15:21:24 +0000 Message-Id: <6a3aa474.20dd5.2d9c425@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=86950cf9ffe89b7978fca019019692b3ea492044 commit 86950cf9ffe89b7978fca019019692b3ea492044 Author: Dag-Erling Smørgrav AuthorDate: 2026-06-23 15:20:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-23 15:20:38 +0000 tests: Fix race condition in aslr_setuid, take 2 Instead of a cloexec pipe, ingest ping's stdout and block until it has printed its initial summary, then close the pipe and return to the main test loop. Run ping in quiet mode so it won't mind that stdout is gone. PR: 296116 MFC after: 1 week Fixes: 080a4087014e ("tests: Fix race condition in aslr_setuid") Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D57763 --- tests/sys/kern/aslr.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/tests/sys/kern/aslr.c b/tests/sys/kern/aslr.c index 7d5282fc7cf3..966ea5c3b83a 100644 --- a/tests/sys/kern/aslr.c +++ b/tests/sys/kern/aslr.c @@ -29,23 +29,21 @@ static pid_t spawn_ping(const atf_tc_t *tc) { + char line[64]; const char *user; struct passwd *passwd; pid_t child; - int arg, error, ctl[2]; - char dummy; + int arg, error, io[2]; user = atf_tc_get_config_var(tc, "unprivileged_user"); passwd = getpwnam(user); ATF_REQUIRE(passwd != NULL); - ATF_REQUIRE(pipe2(ctl, O_CLOEXEC) == 0); + ATF_REQUIRE(pipe2(io, O_CLOEXEC) == 0); child = fork(); ATF_REQUIRE(child >= 0); if (child == 0) { - if (close(ctl[0]) != 0 || - close(STDOUT_FILENO) != 0 || - open("/dev/null", O_WRONLY | O_APPEND) != STDOUT_FILENO || + if (dup2(io[1], STDOUT_FILENO) != STDOUT_FILENO || seteuid(passwd->pw_uid) != 0) _exit(1); @@ -54,12 +52,12 @@ spawn_ping(const atf_tc_t *tc) if (error != 0) _exit(2); - execl("/sbin/ping", "ping", "127.0.0.1", NULL); + execl("/sbin/ping", "ping", "-q", "127.0.0.1", NULL); _exit(127); } - ATF_REQUIRE(close(ctl[1]) == 0); - ATF_REQUIRE(read(ctl[0], &dummy, 1) == 0); - ATF_REQUIRE(close(ctl[0]) == 0); + ATF_REQUIRE(close(io[1]) == 0); + ATF_REQUIRE(read(io[0], line, sizeof(line)) > 0); + ATF_REQUIRE(close(io[0]) == 0); return (child); }