From owner-freebsd-current Thu Feb 7 19:15: 4 2002 Delivered-To: freebsd-current@freebsd.org Received: from swan.prod.itd.earthlink.net (swan.mail.pas.earthlink.net [207.217.120.123]) by hub.freebsd.org (Postfix) with ESMTP id 2A73F37B41B for ; Thu, 7 Feb 2002 19:14:59 -0800 (PST) Received: from pool0339.cvx22-bradley.dialup.earthlink.net ([209.179.199.84] helo=mindspring.com) by swan.prod.itd.earthlink.net with esmtp (Exim 3.33 #1) id 16Z1V0-0007Y2-00; Thu, 07 Feb 2002 19:14:56 -0800 Message-ID: <3C634215.23CF1227@mindspring.com> Date: Thu, 07 Feb 2002 19:12:21 -0800 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Julian Elischer Cc: current@freebsd.org Subject: Re: ucred for threads References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Julian Elischer wrote: > yes.. well in booting yuo can have a null ucred. ( I know,s > I've hit it), but in general you are correct. [ ... ] > > What is the default state of td->td_ucred? > > on creation, NULL followed very rapidly with being set to > p->p_ucred. (via crhold) Non-problem, then. > > If that's the case, then the code should be: > > > > if (td->td_ucred != p->p_ucred) { > > PROC_LOCK(p); > > if (td->td_ucred) { > > crfree(td->td_ucred); > > } > > without the if it crashes in boot sometimes. > (this may not be true right now but was during my testing of > the KSE kernel) The place to fix this is by setting up a default reference to a root/boot ucred, I think, for use by the initial process template. What are the consequences, if any, of me having removed the setting the thing to NULL, during boot? I guess that it would leave the thread cred uninitialized. Obviously, the problem with your crash is in the crhold( NULL). 8-). It seems to me that the test would leave threads with NULL ucreds around as well, and just complicate things later. Is there a reason you can't set up an initial ucred? -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message