git: e3fda88831d0 - stable/15 - pdrfork(2) tests: RFPROCDESC|RFPROC are required
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 21 Feb 2026 09:49:50 UTC
The branch stable/15 has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=e3fda88831d08f6354be7e0f4466c6acd19c9382
commit e3fda88831d08f6354be7e0f4466c6acd19c9382
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-02-15 15:00:57 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-02-21 09:48:58 +0000
pdrfork(2) tests: RFPROCDESC|RFPROC are required
(cherry picked from commit 68ba270f4fc7799929a3d59d710f44e5e9087def)
---
tests/sys/kern/pdrfork.c | 46 ++--------------------------------------------
1 file changed, 2 insertions(+), 44 deletions(-)
diff --git a/tests/sys/kern/pdrfork.c b/tests/sys/kern/pdrfork.c
index fa644b6658d7..7a560e4fa08d 100644
--- a/tests/sys/kern/pdrfork.c
+++ b/tests/sys/kern/pdrfork.c
@@ -107,48 +107,8 @@ ATF_TC_BODY(einval, tc)
ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFSPAWN | RFNOWAIT) < 0);
ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFPROC | RFFDG| RFCFDG) < 0);
ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFPROCDESC) < 0);
-}
-
-/*
- * Without RFSPAWN, RFPROC, or RFPROCDESC, an existing process may be modified
- */
-ATF_TC_WITHOUT_HEAD(modify_child);
-ATF_TC_BODY(modify_child, tc)
-{
- int fdp = -1;
- pid_t pid1, pid2;
-
- pid1 = pdfork(&fdp, 0);
- if (pid1 == 0)
- _exit(0);
- ATF_REQUIRE_MSG(pid1 >= 0, "pdfork failed: %s", strerror(errno));
- ATF_REQUIRE_MSG(fdp >= 0, "pdfork didn't return a process descriptor");
-
- pid2 = pdrfork(&fdp, 0, RFNOWAIT);
- ATF_REQUIRE_MSG(pid2 >= 0, "pdrfork failed: %s", strerror(errno));
- ATF_CHECK_EQ_MSG(pid2, 0,
- "pdrfork created a process even though we told it not to");
-
- close(fdp);
-}
-
-/*
- * Basic usage with RFPROC. No process descriptor will be created.
- * I'm not sure why you would use pdrfork in this case instead of plain rfork
- */
-ATF_TC_WITHOUT_HEAD(rfproc);
-ATF_TC_BODY(rfproc, tc)
-{
- int pd = -1;
- pid_t pid;
-
- pid = pdrfork(&pd, 0, RFPROC);
- ATF_REQUIRE_MSG(pid > 0, "rfork failed with %s", strerror(errno));
- if (pid == 0)
- _exit(0);
-
- ATF_REQUIRE_EQ_MSG(pd, -1,
- "rfork(RFPROC) returned a process descriptor");
+ ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, RFPROC) < 0);
+ ATF_CHECK_ERRNO(EINVAL, pdrfork(&pd, 0, 0) < 0);
}
/* basic usage with RFPROCDESC */
@@ -176,8 +136,6 @@ ATF_TP_ADD_TCS(tp)
ATF_TP_ADD_TC(tp, child_gets_no_pidfd);
ATF_TP_ADD_TC(tp, efault);
ATF_TP_ADD_TC(tp, einval);
- ATF_TP_ADD_TC(tp, modify_child);
- ATF_TP_ADD_TC(tp, rfproc);
ATF_TP_ADD_TC(tp, rfprocdesc);
#if !(defined(__i386__)) && !(defined(__amd64__))
ATF_TP_ADD_TC(tp, rfspawn);