Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Feb 2002 19:17:53 -0800 (PST)
From:      Julian Elischer <julian@elischer.org>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        current@freebsd.org
Subject:   Re: ucred for threads
Message-ID:  <20020212021155.B41B09F2AC@okeeffe.bestweb.net>

next in thread | raw e-mail | index | archive | help
Terry I don't have time to work on it now, but if you would like to take a
-current system
 and apply the threading KSE diffs from my web page, 
then maybe you can investigate whether I really ned the  if clause or
not..
I don't have time now to go back to it for a while


On Thu, 7 Feb 2002, Terry Lambert wrote:

> 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
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020212021155.B41B09F2AC>