From nobody Sun Jun 28 00:30:07 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 4gnr0J6BLBz6jDMX for ; Sun, 28 Jun 2026 00:30:08 +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 4gnr0H4jRsz3dBW for ; Sun, 28 Jun 2026 00:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782606607; 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=O95T1BkzhZoXTrC137ClCMajU3luoCJ+pkXaAsBPwZE=; b=T5JPl5R6v1KLn1Hibq+tHzoQ3V1A2qJsCVgwwzbdKQgARo8zsCp1tCz7n4ehSdPzx8ekI4 OLAnYhDjMZIIR7O6H1swELeYvU9tqmz2eIt4LYXRLx7NhCb3KNUqevDsl6Ceguf/4G4XCe dbjpE8FpFV6C9QRLhDXnjVQieOALRZcoXop5O4jJUXK0jhFOGQOwzeSPCm97CUyZR0vDlD I8toKEoyWBYPIdGCyiFrkq7KB0EqOcOtzUVaWe/e1KiGqYSvIWDFS3cvfN9613FJhBflEw GkKP/BWlXFjicwQQD/1zMuTFc2Pi/jD3bK/In7q0ErHXuHK+Pv2EcW0wYXNl5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1782606607; a=rsa-sha256; cv=none; b=P0JCmseA1vDz+8tiEbx9+c20OJSs+ghJI1SCY6a8TN1Ajru4QTsyKY8XOF4AXABpvDsWtH apcnMpZsI6QeimJ4Pk1GTHyiOpOCikuilFbPWTi1OnMHV1hEg9uW4brSYdGZT5V4uWro9W OQB9oYL9StXF95SgXOlHPYz34XzXfrWR4wBIfUz2icX+eQ6bbWmub34wfIALdJS4+KbBid DOSTowIfNm77fo15hOX14wWbiFeKa0fxL4/r/J+Os+GV+2APHBDxtE6CgMdV2/Iu/bu9fg Gj3SNRRWWJ90nG3cmy9P7tnOrpjKQW/dLfEELDEi4BLP4VbiN+yv2SZAi3ZoWA== 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=1782606607; 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=O95T1BkzhZoXTrC137ClCMajU3luoCJ+pkXaAsBPwZE=; b=Oa9mmzgi7M5TGtju8gomiF/4xJ3IagHS24FhMx2K0C17L0S8JmKeT4Bp4aIHqoKNwyJcUJ CW4E26jN4QECwGG1aBJIs9a5WAX8In0BW1GEUPA6PYOcttgevwZW1k5F3dlDeQ0fu4c5J0 ge6kMW+pB9x4tdTh3ygWGALvHHk2sW5E//Gpn7wniiSZC4p5lJ/ae2RUx/+88HMhmj5msH uJB/x3JdJGCzgLIjJO3135Pk60OtaIxF9hjEGx2N6pSVm2bqqVnFzUMO75GHRCy9t7r/8b KPg4RVj8KBznm1imLAqui0kOzjTfKfQG5OvapjQh/1N6B3oq5yl2DENLj+nXyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gnr0H2QJPznGn for ; Sun, 28 Jun 2026 00:30:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d5f1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 28 Jun 2026 00:30:07 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: b3f99ce653d4 - stable/14 - kern_proc.c: make kern.proc.osrel atomic 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/stable/14 X-Git-Reftype: branch X-Git-Commit: b3f99ce653d456c9c829359b0dc83c4867f044b7 Auto-Submitted: auto-generated Date: Sun, 28 Jun 2026 00:30:07 +0000 Message-Id: <6a406b0f.3d5f1.c9c385d@gitrepo.freebsd.org> The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b3f99ce653d456c9c829359b0dc83c4867f044b7 commit b3f99ce653d456c9c829359b0dc83c4867f044b7 Author: Konstantin Belousov AuthorDate: 2026-06-15 17:28:15 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-28 00:28:59 +0000 kern_proc.c: make kern.proc.osrel atomic (cherry picked from commit 80626f34ee985671bb8c60ee986b89587b7a1511) --- sys/kern/kern_proc.c | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index a0a8e0f1f2b5..bac8b5c9d1ad 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -3124,39 +3124,38 @@ sysctl_kern_proc_osrel(SYSCTL_HANDLER_ARGS) int *name = (int *)arg1; u_int namelen = arg2; struct proc *p; - int flags, error, osrel; + int flags, error, old_osrel, osrel; if (namelen != 1) return (EINVAL); - if (req->newptr != NULL && req->newlen != sizeof(osrel)) - return (EINVAL); - - flags = PGET_HOLD | PGET_NOTWEXIT; - if (req->newptr != NULL) + flags = PGET_NOTWEXIT; + if (req->newptr != NULL) { + if (req->newlen != sizeof(osrel)) + return (EINVAL); + error = SYSCTL_IN(req, &osrel, sizeof(osrel)); + if (error != 0) + return (error); + if (osrel < 0) + return (EINVAL); flags |= PGET_CANDEBUG; - else + } else { flags |= PGET_CANSEE; + } error = pget((pid_t)name[0], flags, &p); if (error != 0) return (error); - - error = SYSCTL_OUT(req, &p->p_osrel, sizeof(p->p_osrel)); - if (error != 0) - goto errout; - - if (req->newptr != NULL) { - error = SYSCTL_IN(req, &osrel, sizeof(osrel)); - if (error != 0) - goto errout; - if (osrel < 0) { - error = EINVAL; - goto errout; - } - p->p_osrel = osrel; + if ((p->p_flag & P_INEXEC) != 0) { + error = EBUSY; + } else { + old_osrel = p->p_osrel; + if (req->newptr != NULL) + p->p_osrel = osrel; } -errout: - PRELE(p); + PROC_UNLOCK(p); + + if (error == 0) + error = SYSCTL_OUT(req, &old_osrel, sizeof(old_osrel)); return (error); }