From nobody Mon Jul 27 00:30:12 2026 X-Original-To: dev-commits-src-branches@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 4h7fd05k8dz6mBwl for ; Mon, 27 Jul 2026 00:30:12 +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 4h7fd0186xz3Frk for ; Mon, 27 Jul 2026 00:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785112212; 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=8P3oKahmpYv4i5ORZSLNw+qB1H+XjxneETKYW48M+IA=; b=lhsJeeZsHbg2EmFZiJci/MK6AXj3PSYuyswRvcU4R+v8Q+BOlUYIXaqBm899WStCevVHyU mDl4gz0iDUEYUPVgpSur3fDjCDP5fh/uPNdbdfeyXYptvFfR3th3G9hxoLj/hEAzzSqV+2 nloeN+ZtHFgGmThpV94CDVvRHva1gw5g4vho5i8WL1ETNtLKrl24sLcy27HNbL4fXZEonb N0K4ckAZvF4NGjgCt0rYDq60AbGBQ9SdYVB+bf+C6cunTuocq7A22uA74rBZG1vfcTlffY Xbpc7uu88MFm/t8h4C7ZTKIYc/4Y9nKznQ9D9l4f6NPB11uznj4D4Mf1i16zyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785112212; a=rsa-sha256; cv=none; b=GXOEzxtFKH74hE24Dt/m/MISSbWVF2WAMauVAoNn3eEiqIo6/6bRLctwbGkXwGf6j10SNs 8q85/pQeymTYmkzAbW94D62v9M98VjuGumMAEBHmDXBWj4PEDCrHdEpHksDdxo7lzn3h2I wIrO7wtvUX1DtdxsEecosa3o8oF1bP9BpfKPSzola1X3t+z1kYNMvUwc+MBI+h/QWk31Mc phXv81CweqiGjTEPPi+XggdbQGf6vNsNPaEOvRj9n/XSWO8SUt0qBrf/dUzdc0UVWYA+IR eYTzBaWg2epEoh4L6kXegwvFsEncV56EhzkZ+m9vTSClDQCBiWA5Xy/+yDxw9g== 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=1785112212; 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=8P3oKahmpYv4i5ORZSLNw+qB1H+XjxneETKYW48M+IA=; b=hVawshMtbTy0eP9jOz1RuXbg4hxtww4Dk4g1LR/ocPAk15xrS0jSee2l4q3AbwcjpnT4B2 7FlmhwZnDG6f7fsKJgzGrgao+l+RSKZACsU/mQREB97OA7YY4Yt73f0fKFfJx3kqk5mQu+ kV2f1E1MyiNEa4q0FskN5OzrUJ3x7e6XfZFRrkn5cYhVB//bsjyRnTSr/Iuryai2BmLn3B W8+co7WEaqR0Kqu4CoQwGh8FebKeZsX2MtmlGDYNcCM3K5QKLkxpuu1zDlt+yZ5E9eC4ou g70B0jAEvzVCgrdhTVZz9rAaiUfu74oEWd6xXWYuF9AUpp94PzWYH3MXr79FNg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h7fd004QBzlP4 for ; Mon, 27 Jul 2026 00:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 278f0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Jul 2026 00:30:12 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 88409417be88 - stable/15 - kern_ptrace(): reduce code duplication List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/stable/15 X-Git-Reftype: branch X-Git-Commit: 88409417be8847b94fa2702eb727d6102f620af2 Auto-Submitted: auto-generated Date: Mon, 27 Jul 2026 00:30:12 +0000 Message-Id: <6a66a694.278f0.39e792bd@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=88409417be8847b94fa2702eb727d6102f620af2 commit 88409417be8847b94fa2702eb727d6102f620af2 Author: Konstantin Belousov AuthorDate: 2026-07-19 01:14:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-07-27 00:28:44 +0000 kern_ptrace(): reduce code duplication (cherry picked from commit 9b21a52495758294e3a50542a59bc47a0c184173) --- sys/kern/sys_process.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 43cea67d1e1a..9ba8ec33e5dc 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -906,7 +906,7 @@ ptrace_unsuspend(struct proc *p) } static int -proc_can_ptrace(struct thread *td, struct proc *p) +proc_can_ptrace1(struct thread *td, struct proc *p) { int error; @@ -914,11 +914,22 @@ proc_can_ptrace(struct thread *td, struct proc *p) if ((p->p_flag & P_WEXIT) != 0) return (ESRCH); - if ((error = p_cansee(td, p)) != 0) return (error); if ((error = p_candebug(td, p)) != 0) return (error); + return (0); +} + +static int +proc_can_ptrace(struct thread *td, struct proc *p) +{ + int error; + + PROC_LOCK_ASSERT(p, MA_OWNED); + + if ((error = proc_can_ptrace1(td, p)) != 0) + return (error); /* not being traced... */ if ((p->p_flag & P_TRACED) == 0) @@ -1084,14 +1095,8 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) } AUDIT_ARG_PROCESS(p); - if ((p->p_flag & P_WEXIT) != 0) { - error = ESRCH; - goto fail; - } - if ((error = p_cansee(td, p)) != 0) - goto fail; - - if ((error = p_candebug(td, p)) != 0) + error = proc_can_ptrace1(td, p); + if (error != 0) goto fail; /*