From nobody Mon Feb 16 17:58:11 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 4fF9VW5Qt7z6S75B for ; Mon, 16 Feb 2026 17:58:11 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fF9VW2NKDz3YT9 for ; Mon, 16 Feb 2026 17:58:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771264691; 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=ShT1c2iFM7+WHVbJqHJHJuFvP75ioNuEu25BO77LxmA=; b=jt5YzNwf7U2z65ZM2Ppv8PcXtyh60KqzS7ssFXF6DAAf9yRktmZi9Ts2DCe2r7cYpiu8Wy gUppbdHFUgNWX/qnAjJF4IfbxjOiIvQVDoAxytS+GuJJ0v38l3FYmaVBLHjgNiTZjEdTDO DG80jZixN3XtuPniJ0/1J5FWpG4501qCObhf8kq+xvUgWRDG1g6oRdD79IFJDil0t1bzyi C2+KNqy2B4pyFe7oFsjm+wVT6xj0Aso9FVqJa6PubtiskS9pRZf0k2oAZa/5VZwK7c2Muz Q2qKYvUT3fs+0tea14B+UhWzbjqVZIWNmr5p0clJKXEsvJMOMVYtP4C6ZqhBlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771264691; a=rsa-sha256; cv=none; b=h87QMysWuALRtzE09Ibz7jYV4bg1QHxrw3p98la+Wr8b3uWw9KqcHnnLdx+y58lm+R3t6J /HRltkw6Oxk4UsxTiNg2Nxe4+ul6vOYbuWDQOGPsSc2NV+D3pyftzQo0qW4Ft0fBcTzAct Otn4IHQ8hTFNGHrxsuAuAzwEFOMkYXBuGYux1+cr2w18F+qY6exZ35gYcfYMscrPSMnNso KVknA+I4u+RE+uC0wksvhh+AFE9Gy2w8CJ94D6jyWSwzw7Pukly5q/7NvDaguUlKiomQTq 14bGvfDPr2tLkpOxQA4dLX9nGMY447aXnd+Fi/NRaHp6isTKh2Jf7L4NOg1PBQ== 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=1771264691; 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=ShT1c2iFM7+WHVbJqHJHJuFvP75ioNuEu25BO77LxmA=; b=Up0f5tN96Yr69xWh7MqDgUiPwF+lU3mVBuQrPLD0UnVUt670tTu/VeXSMWOOhcYKEqX3+P q7ohcP8gnVbL20bs4pQtsI2COS2uFIVAFSDAcMW/If+hH50R6gJOJFu/OJoCAy9XGhYgEc bHkLWeUZzLz/SDE2UM5Y1K1GfP7cLu8pbSetN0+NzGYkyhdlyGy2D2BdRe5xNy+NM5UAx6 E10K8Bgo+a6VEm4M3B5nSG54qJx4WJLjZVL4ywjUPwy5x2YTarC++qdysd3BrkfFo3oyQo pgxDnWfypTADC+DIhiT+Y/LTfOPis5gre8zl/n6lHKbVeSZSCU/CXX3iH30h5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fF9VW1415zZgP for ; Mon, 16 Feb 2026 17:58:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32fe8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 16 Feb 2026 17:58:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b05be03ceea0 - main - pdrfork(2): do require RFPROCDESC | RFPROC 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b05be03ceea0a95f7783ddc890885f34bb4023d4 Auto-Submitted: auto-generated Date: Mon, 16 Feb 2026 17:58:11 +0000 Message-Id: <69935ab3.32fe8.761098e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b05be03ceea0a95f7783ddc890885f34bb4023d4 commit b05be03ceea0a95f7783ddc890885f34bb4023d4 Author: Konstantin Belousov AuthorDate: 2026-02-14 16:38:23 +0000 Commit: Konstantin Belousov CommitDate: 2026-02-16 17:57:52 +0000 pdrfork(2): do require RFPROCDESC | RFPROC when RFSPAWN is not specified, as stated in the man page. rfork(2) cannot modify non-curproc, which is why RFPROC is required, the syscall cannot act on arbitrary process descriptor. If RFPROCDESC is not specified, the syscall does not make sense, use rfork(2). Reported and tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55306 --- lib/libsys/pdfork.2 | 8 +++++--- sys/kern/kern_fork.c | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libsys/pdfork.2 b/lib/libsys/pdfork.2 index ad7eecb00dae..9cbeb65bc4fc 100644 --- a/lib/libsys/pdfork.2 +++ b/lib/libsys/pdfork.2 @@ -114,11 +114,13 @@ for a description of the possible flags. The .Fn pdrfork -system call requires that the +system call requires that both the .Va RFPROC -or +and +.Va RFPROCDESC +flags, or .Va RFSPAWN -flag is specified. +flag are specified. .Pp .Fn pdgetpid queries the process ID (PID) in the process descriptor diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 6313bf3bb651..36647ae44f08 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -214,6 +214,11 @@ sys_pdrfork(struct thread *td, struct pdrfork_args *uap) fr.fr_flags = RFFDG | RFPROC | RFPPWAIT | RFMEM | RFPROCDESC; fr.fr_flags2 = FR2_DROPSIG_CAUGHT; } else { + if ((uap->rfflags & (RFPROC | RFPROCDESC)) != + (RFPROC | RFPROCDESC)) { + return (EXTERROR(EINVAL, + "RFPROC|RFPROCDESC required %#jx", uap->rfflags)); + } fr.fr_flags = uap->rfflags; }