From nobody Wed May 13 19:40:31 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 4gG3hv2vF5z6cvD9 for ; Wed, 13 May 2026 19:40:31 +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 4gG3hv2MSHz3VW1 for ; Wed, 13 May 2026 19:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1778701231; 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=dprnyI8lpzFMEiqu3+pk5T2eHp0hhGIvnVppjwrHBRs=; b=lv0jOLvkES6n9Q6HYgUI9HoEsWGwQJ/AG/ZaJRCNhHJuefbnJcXy5mOb7vZCKeH/iZITM3 mnQCKwZ4DDjSwGZr0QrRp8kktZawjlRdx1rm/an1YvLh3Rp4xTX/I4CTqWIek6UsxxzgnM uNWBhMZg6BGPY9clC03++Gk+w2kXBCmIkwBiZL32KlDHcUnL+hvtkp05xQEwi1VCD3DLm6 kwXUQPyU1xniB1cK3ffDOO4+EiVJXibpW0FPE4b2oBplAp10FX+CJ1/uWFW8LuYt1xKtCn j6ZWKiAD2YZIvD1mWXeOpS/L4E7GBtSAoVHXlq+p01PXdKT2+PdHueKVGX8hMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1778701231; a=rsa-sha256; cv=none; b=jtVyXAQ1gDUyEp6MX+sdi3xKKB4c1CStodyz8ysNhFORSZE2u//fKnLeXxd+3hk2QRfATX s+j6/LykPuuxlWMzBLMeudSeCyFq92aMboqoVVcTZq8VO7s0fQcK9MHThMhAmCBxPoW2kb Jzu92EkFT3qJlsxDb+abuW29NC6E8adgya96kNTxdZALM3gItL8NHeVyfMFcBRcT4tPXxD DbQCHiyy+WLtOWdTSMA6DyiQ+GvEvRrF8J6b7LsOU4g2cJKhU3ytCiVdBMS2DvZOO7MXhP fzrjpyt76v6TuaeQrZXFLcqJmyIdpO3dL68rkQ0fZjmVXJFmaizcoZu5ZX93/A== 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=1778701231; 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=dprnyI8lpzFMEiqu3+pk5T2eHp0hhGIvnVppjwrHBRs=; b=JjB+30pGAoESCxuqr4Tpp9YKg54FeQerEJ3DOLR8INfyLjWcDp7DgvncUFDBaqmT6z+WIp LCcuLMuZrESn+J7W72leHlNZTS/1WGj4Dp3qkNlgh7PIqmfQ5FudjtDdriuTXSdHuupTdk 01SHNH/c+5ONWQNYoqngHvV13ce4A2BcWPbhOKv/rVaBeN29Kp8gQqP/x5Tly8uX3cTe23 zZI69QENzC4dU9L8a6XY3JKkS5WSHdx3zqMGLEYtILtU8TEGjCc0a6wmEC6oXvW4oaMiS5 5JR5/aCjd/iYno6TANJDvgry//71povygpF2z1/nZ+PnmqqISPpjD0WG0pn00w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gG3hv1C1Dz13sd for ; Wed, 13 May 2026 19:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31ba9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 13 May 2026 19:40:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: cb31a266167c - main - ptrace: clear TDP_USERWR after transparent attach only on attach 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: cb31a266167c8bde3488fbdd6bf24c38b6f59977 Auto-Submitted: auto-generated Date: Wed, 13 May 2026 19:40:31 +0000 Message-Id: <6a04d3af.31ba9.20680c0e@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=cb31a266167c8bde3488fbdd6bf24c38b6f59977 commit cb31a266167c8bde3488fbdd6bf24c38b6f59977 Author: Konstantin Belousov AuthorDate: 2026-05-11 01:12:30 +0000 Commit: Konstantin Belousov CommitDate: 2026-05-13 19:40:03 +0000 ptrace: clear TDP_USERWR after transparent attach only on attach The flag indicates that the modifying ptrace op was issued, and clearing it after transparent attach is needed to not leak the flag to later operations, since it is cleared on the syscall enter. But clearing it there unconditionally is too strong. The clearing should be only done for attach situation. Reported by: Alex S Fixes: 99976934274de6fa19f049a0b6eac10856710f96 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D56928 --- sys/kern/sys_process.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index dece6457a4bf..5effc6fbe2d7 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -1411,17 +1411,16 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) * register file or specifying the pc, make the thread * xstopped by waking it up. */ - if ((td2->td_dbgflags & TDB_USERWR) != 0) { - if (pt_attach_transparent) { - thread_lock(td2); - if (TD_ON_SLEEPQ(td2) && - (td2->td_flags & TDF_SINTR) != 0) { - sleepq_abort(td2, EINTR); - } else { - thread_unlock(td2); - } + if ((td2->td_dbgflags & TDB_USERWR) != 0 && + pt_attach_transparent) { + thread_lock(td2); + if (TD_ON_SLEEPQ(td2) && + (td2->td_flags & TDF_SINTR) != 0) { + td2->td_dbgflags &= ~TDB_USERWR; + sleepq_abort(td2, EINTR); + } else { + thread_unlock(td2); } - td2->td_dbgflags &= ~TDB_USERWR; } /*