From owner-freebsd-jail@FreeBSD.ORG Tue Dec 18 11:10:02 2012 Return-Path: Delivered-To: freebsd-jail@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 54630CDD for ; Tue, 18 Dec 2012 11:10:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 3A15E8FC17 for ; Tue, 18 Dec 2012 11:10:02 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id qBIBA2hn009353 for ; Tue, 18 Dec 2012 11:10:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id qBIBA1nl009352; Tue, 18 Dec 2012 11:10:01 GMT (envelope-from gnats) Date: Tue, 18 Dec 2012 11:10:01 GMT Message-Id: <201212181110.qBIBA1nl009352@freefall.freebsd.org> To: freebsd-jail@FreeBSD.org Cc: From: Mateusz Guzik Subject: Re: misc/174436: [jail] Jails with numbers as names don't work X-BeenThere: freebsd-jail@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: Mateusz Guzik List-Id: "Discussion about FreeBSD jail\(8\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Dec 2012 11:10:02 -0000 The following reply was made to PR kern/174436; it has been noted by GNATS. From: Mateusz Guzik To: Robert Schulze Cc: bug-followup@FreeBSD.org Subject: Re: misc/174436: [jail] Jails with numbers as names don't work Date: Tue, 18 Dec 2012 12:08:30 +0100 On Tue, Dec 18, 2012 at 12:01:43PM +0100, Robert Schulze wrote: > Hi, > > Am 18.12.2012 11:18, schrieb Mateusz Guzik: > >I was reading wrong version of rc.d script. Name is passed with -n switch. > > > >Looks like we can get to prison_deref before RACCT is initialized for > >given prison. > > > >Please test the following: > >diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c > >index 1dc43ab..7ca1d72 100644 > >--- a/sys/kern/kern_jail.c > >+++ b/sys/kern/kern_jail.c > >@@ -2604,7 +2604,8 @@ prison_deref(struct prison *pr, int flags) > > cpuset_rel(pr->pr_cpuset); > > osd_jail_exit(pr); > > #ifdef RACCT > >- prison_racct_detach(pr); > >+ if (pr->pr_prison_racct != NULL) > >+ prison_racct_detach(pr); > > #endif > > free(pr, M_PRISON); > > > > this fixed the panic, but the jail can still not be started: > > # /etc/rc.d/jail onestart 0 > Configuring jails:. > Starting jails: cannot start jail "0": > . Forgot to add: '0' is explicitly forbidden. Underlying reason is that you already have jail 0 - your main system. The only problem here was that cleanup was incorrect. And possibly documentation should note that '0' is already taken. -- Mateusz Guzik