From nobody Sun Jul 5 05:13:46 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 4gtFyL4WPBz6jnZg for ; Sun, 05 Jul 2026 05:13:46 +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 4gtFyL36Bbz3LS4 for ; Sun, 05 Jul 2026 05:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783228426; 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=5iaIyXKfvD6v9+W00e0oT5QbifaPQrgIrCapwcElGU4=; b=eVisfNvDA6h1+LJG/ncV9t/8T7h7gvA4Vg+pfEzPTCtx/HkK4vHtTkLl8ru02eTTQ4ec+h w1O3DYOvtx6+iXbn3yZNLBbOf2EfUz60FpeQaClcizogKDzpn5iIH5EA4aOgSMQyV2nhRe UGjBjIPIwwQ6EMri0qB0+ATz2DrNmnMpVE7AZyrBur0qWQkeIPcReer08qRYtFlv1tbwcy kW+8BFjE+yL05gXSGf1DXvh8X23ctEqtmdQcdp9S9mo5xH8gggMzgbkKfGLNxm6nCQEfG3 M+dJ+YW2fDyewH1M1B5CM4VNoI9mbssdhzsy+hG7x97hlQqqffImovQeY+Hzxg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783228426; a=rsa-sha256; cv=none; b=fxB1u7pWDbn16T8R5ja4n2vxvnxj3pZoPwrTucgH9cVXNr1HTUzrM07Qv5EW19wKGisXvt 1LTbni9LQ9BJbtTTWbvfSpk81SDTRTFnD8BfPKWEt1dDxWLy9h5D8Ts/nJcwVulUCyg0vz WEj4fx4aZwAqGQ2h+L196keQxjMZqKu3JWb4GiQCRGk4dpqxhD+GMT1JKWL34Smb2v0bRA cK23rXatTwW2uYpe/VWDErP7knYy1Pp7oIkxmYstRf0piotIgq1V4ZRSjyI+9yfAeCXPA3 Dxk4WKPcXglpFoAIwlzK+5lwE+T+JW8i0El3muhj9Nq/atbuQET2FHM24zlQTA== 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=1783228426; 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=5iaIyXKfvD6v9+W00e0oT5QbifaPQrgIrCapwcElGU4=; b=skFHJBQaU+bwQASHvE0Uq1PSYi30XcM+7YRpmhMzQH65B7UrF8cFA3Yvxstc5cfEiFEH3G gzDM9I/tzqEmFf6qp7eKVsCmF4oTsnnnfMR19P+rH8UrCk6aWjITIMIDa+2xt4j+u5LiN8 6u6KAxInTpTpbAEFGiFQJY0bTa+pM+d0kAYguJhue6VTdW6vIJEEg8c2JnJlkCuTkzTqu4 5b1lFQglcR9S+Q3x5PI64yaq6TZv3qZvCjSq5hknCEAse+50ujTIOO62h6beItsbgLt8uI 40db/ODfYgDV+9jN/XrZf3cQzkB79boDfqSwFtMBp+3BLqQHug1cll5Te+Y2ig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gtFyL29dGz13dj for ; Sun, 05 Jul 2026 05:13:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 239e6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 05 Jul 2026 05:13:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 334c8ba7dd9c - stable/14 - jail: call PR_METHOD_ATTACH again (with old jail) if the first call fails 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: jamie X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 334c8ba7dd9c8dcb2322132cd927f2520126d820 Auto-Submitted: auto-generated Date: Sun, 05 Jul 2026 05:13:46 +0000 Message-Id: <6a49e80a.239e6.6721bfc0@gitrepo.freebsd.org> The branch stable/14 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=334c8ba7dd9c8dcb2322132cd927f2520126d820 commit 334c8ba7dd9c8dcb2322132cd927f2520126d820 Author: Jamie Gritton AuthorDate: 2026-06-19 19:45:27 +0000 Commit: Jamie Gritton CommitDate: 2026-07-05 03:09:16 +0000 jail: call PR_METHOD_ATTACH again (with old jail) if the first call fails jail_attach lets modules do attachment-specific work by calling osd_jail_call(PR_METHOD_ATTACH). If one of the modules returns an error, the call needs to be repeated with the thread's current prison, so possible earlier modules and undo any changes they may have made. (cherry picked from commit e91e8ebefadcce9d57c8ff945ff70050cbbe1ce1) --- sys/kern/kern_jail.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 786a4d804115..a18da4472947 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -2680,10 +2680,8 @@ do_jail_attach(struct thread *td, struct prison *pr, int drflags) /* Let modules do whatever they need to prepare for attaching. */ error = osd_jail_call(pr, PR_METHOD_ATTACH, td); - if (error) { - prison_deref(pr, drflags); - return (error); - } + if (error) + goto e_revert_osd; sx_unlock(&allprison_lock); drflags &= ~(PD_LIST_SLOCKED | PD_LIST_XLOCKED); @@ -2748,8 +2746,10 @@ do_jail_attach(struct thread *td, struct prison *pr, int drflags) VOP_UNLOCK(pr->pr_root); e_revert_osd: /* Tell modules this thread is still in its old jail after all. */ - sx_slock(&allprison_lock); - drflags |= PD_LIST_SLOCKED; + if (!(drflags & (PD_LIST_SLOCKED | PD_LIST_XLOCKED))) { + sx_slock(&allprison_lock); + drflags |= PD_LIST_SLOCKED; + } (void)osd_jail_call(td->td_ucred->cr_prison, PR_METHOD_ATTACH, td); prison_deref(pr, drflags); return (error);