From nobody Sat Jun 6 20:07:28 2026 X-Original-To: dev-commits-src-all@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 4gXq8w5VKlz6gKjt for ; Sat, 06 Jun 2026 20:07:28 +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" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXq8w1wNyz46N0 for ; Sat, 06 Jun 2026 20:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780776448; 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=qwvUEp1YrEWufE6hf8Xm4mY0H71vi9NKuMHaIqw9t3k=; b=kCp9fvJ3q6yop44U6xk1jtSd8l3lw5ZpqJNr1JFjkEK4MI1F66cgaHj+eZLIvJpDdg70g/ Pxmlb+Lpb8cPcWNFwFfSboEwfr2qG6m0WObwzhc5Tho/6Z7a81wwLUpUA83fHTi6C43X+/ X0GeKZPnnk5liFsKVG9cr+IpNHkL5L3ngZw4R4ohmQ5D9oOkoUeaBU6SNkjJgTPGai9oXO nyaOMp3s/aLaQsLBnH6ZzUD27zA2HZT6ykpRmPLymz73GSHIm3SUiT6EsjwS2ruHAIVoz8 +Hf/aDieUyoKJVGwBFS6zgumeuD6BeBfXFabzt96LBup4xZDaABzf6GWeaJTTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780776448; a=rsa-sha256; cv=none; b=EP8Mfg1AQBMPyvB3WYAuoMd0esYbkAqpsf3d8hy6a45lLRaErjIXyUnkcvEfnup0h+G7nb i2H7aZ7jgtZ6HDk0Qrli54e4seJrv2ygvqNU3vFegoKsKxX9/F6JZp2PJ+LagLurN987u/ LEd9QwsOuxbuO7LYyNsp9XghC90b6Nug5uWNr55f1vcCbSTYAlCyXuep7nNzGF/U9BYa7u OLrL33Kq8mrwTDcp6+FaAPoRHndlqp6vktKf1+3ZXXQ7wbXzvvCzssP3HH5G1P8nswkHks v0GKbHY+XBHPsuwzs0JEpI9HDu14+k1WsaLYl1Ce6LNYu5LouHQky0R5qXA09g== 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=1780776448; 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=qwvUEp1YrEWufE6hf8Xm4mY0H71vi9NKuMHaIqw9t3k=; b=Q10YX7b9XIXp0ihqQnPbh0KskbFjIiuKqcudVFY8mOyDkf1CS9XdxgH34VRN1CXQyZWQE/ YGs56CCw8rZ8Ti9IE4oS74zFXd4QftF9qkBgbmi951JlVe8Z6giliruRGCkRZO0VdetPTH owHnLE57tnR9UdySmPUnvmd4kcaxfVYP1jnNgUgVMJkCBQ9P5exYARp3it9HYJBm5Ei9hy XSmbhbcNt3Ef1KBCjhnNHZCdiQ0NoMPw4SeBXgY9cfSTivCppgd1b1fzRttqORhfDEJr5T iajlsd0IQemq1cQyZugT4mRVw0vvqm3XXCiw3KJMOVM255eGHFdbNZKsRXBmYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXq8w1CzvzVLC for ; Sat, 06 Jun 2026 20:07:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3fce2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:07:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 261c97b47ea4 - main - kern_procctl: add get_reaper_or_p() helper List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 261c97b47ea4f120bfa4a04aab7d35c70dde8c8f Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:07:28 +0000 Message-Id: <6a247e00.3fce2.1f134a51@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=261c97b47ea4f120bfa4a04aab7d35c70dde8c8f commit 261c97b47ea4f120bfa4a04aab7d35c70dde8c8f Author: Konstantin Belousov AuthorDate: 2026-06-06 17:08:17 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-06 20:00:30 +0000 kern_procctl: add get_reaper_or_p() helper Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D57487 --- sys/kern/kern_procctl.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index 57ca5665d453..db9de394c101 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -132,6 +132,13 @@ protect_set(struct thread *td, struct proc *p, void *data) return (0); } +static struct proc * +get_reaper_or_p(struct proc *p) +{ + sx_assert(&proctree_lock, SX_LOCKED); + return ((p->p_treeflag & P_TREE_REAPER) == 0 ? p->p_reaper : p); +} + static int reap_acquire(struct thread *td, struct proc *p, void *data __unused) { @@ -172,12 +179,9 @@ reap_status(struct thread *td, struct proc *p, void *data) rs = data; sx_assert(&proctree_lock, SX_LOCKED); - if ((p->p_treeflag & P_TREE_REAPER) == 0) { - reap = p->p_reaper; - } else { - reap = p; + reap = get_reaper_or_p(p); + if (reap == p) rs->rs_flags |= REAPER_STATUS_OWNED; - } if (reap == initproc) rs->rs_flags |= REAPER_STATUS_REALINIT; rs->rs_reaper = reap->p_pid; @@ -536,7 +540,7 @@ reap_kill(struct thread *td, struct proc *p, void *data) (REAPER_KILL_CHILDREN | REAPER_KILL_SUBTREE)) return (EINVAL); PROC_UNLOCK(p); - reaper = (p->p_treeflag & P_TREE_REAPER) == 0 ? p->p_reaper : p; + reaper = get_reaper_or_p(p); ksiginfo_init(&ksi); ksi.ksi_signo = rk->rk_sig; ksi.ksi_code = SI_USER;