From nobody Wed Jun 24 17:48:03 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 4glqCs0Xw4z6jZ3q for ; Wed, 24 Jun 2026 17:48:09 +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 4glqCr4s38z3bsq for ; Wed, 24 Jun 2026 17:48:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782323288; 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=xpoU+ivVuCaCkLlgtp4LI2qdOM5budW7NG5qk43u1fQ=; b=vxjaNYZe2I/Ncd34u1wy71b6ezjZFHV/aG6Q9tYrfPaWe5dcJVX0/IfkynuQ96cmC19l8B ic8PDN6gDc4IicGNX46CBK7rMO8fOf2MSDG0ntiMvZA2hw+gGQnC6Y1GEgdlMhaVcJ7yS8 i3MyESMOZZjmV6oAwO6pCMUMv/qC5xOIcFyt9edda70WQD29v7em9lpulcNECgAJKmz/t2 uR3FuTgQhViP+YGKUxCo9V8iEhMVW4xWxWsft0eXhpOBfDTXWUbatxAw1tSMENRDQcaBJh DH2YIfru4BLjkMY1AI3KzHqG0s5w2Nidb0tjsMwwXAJ4pZBWeMKsl25ins4/FA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1782323288; a=rsa-sha256; cv=none; b=QYYOIYrI+d0w0brSXPhOnEAj+xHfrgtQlve/6hCArSSn14KkculXoPXgX7f552Jgq2Lm+/ iwUV3BsjEzLqNsbkpgtvaH9Zy+NaWX9JtMzcqamMV0s6gTiI1EWU/of0K+T3b1DXyndMw+ yWSSybetSkgl5+yq7a2AO3wVLFLqUb873/nIxaZyOmU6EkwlhKaHeKiJW1+vFSilG+P7jQ GFNvPgA4CC2ZHBxTo/XGYrZiDlxMzOY8yPMP1x0IJFzrfFFwzteKGYM3WVTaw6CQ48fb/n bBMyle2kTHZ4AhukF/9OE9dhYMp7XtHh+PmTGf6ETQ0t2mqmveQB0EmPpTcrVQ== 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=1782323288; 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=xpoU+ivVuCaCkLlgtp4LI2qdOM5budW7NG5qk43u1fQ=; b=dZX8FYiAfSAkuweDDUwPYIdtLrwwbSOiI9ol7q8JnTcJk24ENWycxd1ObloDmJ1OV0QcG9 FYW3QGcq46d2oOTdRuW4FoIN69q7qONl2M0je0y33XsehoOsph6uLgNKoW/Khz0UM9mIpc okZa987e9edKitWUZHlkKte79Duc/Ila5rtcpqmiSK2LYSd7wZD7sN79EbRiSTVvoDvhcv FalbBu5Fmrlz44fhDlBkFE0Emrdi/yRfA2hcxxX8vGVspa0QqhVtuiiMwvoPUi7uaF8I0O MyMolig3Jl+L4x0eAZV7GNnOB1yMFsj+Edu47JFONZdZPJ83WbdbQhkkZkkAtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4glqCr3lljzVWl for ; Wed, 24 Jun 2026 17:48:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 37a39 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 24 Jun 2026 17:48:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jamie Gritton Subject: git: 315238df5323 - stable/15 - 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/15 X-Git-Reftype: branch X-Git-Commit: 315238df53233a35752146cf291a37049a4656a3 Auto-Submitted: auto-generated Date: Wed, 24 Jun 2026 17:48:03 +0000 Message-Id: <6a3c1853.37a39.43fa584b@gitrepo.freebsd.org> The branch stable/15 has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=315238df53233a35752146cf291a37049a4656a3 commit 315238df53233a35752146cf291a37049a4656a3 Author: Jamie Gritton AuthorDate: 2026-06-19 19:45:27 +0000 Commit: Jamie Gritton CommitDate: 2026-06-24 17:47:43 +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 43acde461e40..72ccbdf77550 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -3024,10 +3024,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); @@ -3093,8 +3091,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);