From nobody Sun Jul 19 14:49: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 4h363r0Smnz6fdJS for ; Sun, 19 Jul 2026 14:49: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 4h363q6nQ8z3pXQ for ; Sun, 19 Jul 2026 14:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1784472552; 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=ZHaPPJGpdb9Slz6pu+FOScngFUgSLCnvo1YjjhyXpZ8=; b=XgPskAKiCjZGJJCMQsYuhJ0sdQpXqE0dv3jrb6eMRlCKR4FcJW2OrGoKnrRTA+TjgdKiS8 7uUSVDHRi6KU8Ph2p6bLfcVC2prd/LD9HiY3rmw7cl1U67drzQn4T0cLcPOWRu5IVEf5Hh 3+DlG0WR27CJ4KfjMDLgIf+xAjnRIc89yD0BR+GcUNfDm/20nytoLqDgR7Ujq0Ejp2DBc+ CxUVKz1vY1VI8xc47muLSxyNkmTnrF6Uix6MLXuXhtEp2bSOqvKatKqDy6wI2eQEJSHzNe XZ2xHm68h+DOyfGjQgv5AUcOcEXtrdkilT/snk9j7coAg0j/nhpUmrCnj+62Dw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1784472552; a=rsa-sha256; cv=none; b=stmQ/HRxKYHtI5Hi6y0Bk/5imk3cTUhxqdj4NRJEIGIo/m3aDHS90pFweXEbT5Dkc4bg0+ Y16G+muJ16Cyl6ug/NdPcQT6/4UsIOftaiGVjavcT8PlTRWnk3kFGO6c9LdiTRkHgsIk21 lf9gmPlnyfC8yB/hTgKSyTA4UsvFxPw+tng8QPxrTKQeU90+3DLV4FRSzfR6S33t0FEnYU JDXiUN5d6ntUHP7VUx7mAInLYEVvHUngvPhZH3NXc5V0aw2K3UXsQ94JT+cPrh8MIyuC4k tqESzzh/Q7Gi7ZjpeCffme96Gq9yuN0WBgBZzebJfB2M0HEsUf3+FEUnCo7Gyw== 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=1784472552; 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=ZHaPPJGpdb9Slz6pu+FOScngFUgSLCnvo1YjjhyXpZ8=; b=xcd45ZOvvOjk/ejx+Y4aY7jwUHfsHxsDjkks51ycHzBGFLBN5+Yj68OOkIcytqVzBZolxb J0KTmKKIZ+i7WUW4a+azRWYWCON0ffuN43ZFMbQnaCHKaIltrq7e4Uw0Fo+nkPRFHlTmE+ 9Vz0PN084dpA+Vzb+DOhB3KWGY+Op/1pOreiL3SqmhxPLc5OYU/FYOLRWkvZus1a5xk+eJ pKzhXCkM1Guxm3FsxYIMniGyyNAlU2IqRQv9UqV2CSezCrHpm0JZqwSeqLIk3lyy6s1pvN FaCwgBWVWMfi7EumG64eixNVpxz8QJ8+0EcTOtQlCmQBqgYKgdeAA3FsVl4cMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h363q5N59z4CC for ; Sun, 19 Jul 2026 14:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1c46f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 19 Jul 2026 14:49:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 9b21a5249575 - main - kern_ptrace(): reduce code duplication 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b21a52495758294e3a50542a59bc47a0c184173 Auto-Submitted: auto-generated Date: Sun, 19 Jul 2026 14:49:11 +0000 Message-Id: <6a5ce3e7.1c46f.5b323a8d@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9b21a52495758294e3a50542a59bc47a0c184173 commit 9b21a52495758294e3a50542a59bc47a0c184173 Author: Konstantin Belousov AuthorDate: 2026-07-19 01:14:39 +0000 Commit: Konstantin Belousov CommitDate: 2026-07-19 14:48:46 +0000 kern_ptrace(): reduce code duplication Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D58334 --- 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 d3f8e4c81669..2ac0a33c3421 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -923,7 +923,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; @@ -931,11 +931,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) @@ -1041,14 +1052,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; /*