Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jun 2000 12:09:18 -0400 (EDT)
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: uidinfo has many race conditions.
Message-ID:  <Pine.BSF.4.21.0006101200560.67264-100000@green.dyndns.org>
In-Reply-To: <20000609170758.O18462@fw.wintelcom.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 9 Jun 2000, Alfred Perlstein wrote:

> * Alfred Perlstein <bright@wintelcom.net> [000609 16:45] wrote:
> > hi,
> > 
> > Is it just me or does the fact that uidinfo structures (see
> > kern/kern_proc.c) are allocated with M_WAITOK after finding them
> > fails and then inserted into the uidhash structure a race condition?
> > 
> > Index: kern_proc.c
> > ===================================================================
> 
> Yes, I know i forgot to put the created ones back into the list, I was
> just a bit flusteres after reading over the code.  I'll have some more
> later.

With regard to sbsize itself, the test-and-branch conditions do not have
to be atomic.  It really isn't that important.  The incrementing does,
though, and to fix that a very lightweight mutex should be used.  How
about a simplelock?  That should work perfectly.

As for uidinfo itself, I feel it should be done with a mutex over
uihashtbl.  It should be grabbed if the hash for the uid is not
found, tested again (to see if we lost the race), and allocated.
I can't see a way to poke holes in that, and it would be quite
efficient.

> -Alfred

--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green@FreeBSD.org                    `------------------------------'



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0006101200560.67264-100000>