Reentrant problem with inet_ntoa in the kernel

LI Xin delphij at delphij.net
Thu Nov 2 10:33:23 UTC 2006


VANHULLEBUS Yvan wrote:
> On Thu, Nov 02, 2006 at 06:19:43PM +0800, LI Xin wrote:
> [.....]
>> Sounds like a workaround to me and in theory that is insufficient for a
>> MPSAFE protection.  Here is a patch which reduces the chance where we
>> get a race.
> 
> Hi.
> 
> This patch will allow multiple calls to inet_ntoa int the same
> function (like printf(....., inet_ntoa(a), inet_ntoa(b))), but won't
> really solve the race condition if inet_ntoa is called from 2
> differents functions at the same time: at least the round should be
> locked to reduce potential problems, and you're still not sure that no
> more than 8 "simultaneous" (or at least close enough) calls will be done.

True.  That's exactly what I concern about, it just reduced the chance
we lose a race, not to eliminate it.

Note that the code is similar with what was found in ip6_sprintf, so it
got same issue I think.

Cheers,
-- 
Xin LI <delphij at delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20061102/596cdc1d/signature.pgp


More information about the freebsd-net mailing list