Thu Apr 20 23:58:00 GMT 2006
I was perusing some of the changes to the BSD network package, and noticed a
reference to the following in the ChangeLog
I looked at the code changes, but it looks to me like both the original and
patched code work correctly. The key is that wakeup() does not dereference
the value (pointer) passed to it. Even if it did, the patch would not
correct the supposed race condition, since 'zone' is just a local copy of
the so->so_zone pointer, which still points to the same just freed memory
block. The only race condition that the patch might resolve is if the value
of so->so_zone could change between the call to zfreei() and wakeup().
Seems like there is/was something else going on here.
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss