This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sodealloc


I was perusing some of the changes to the BSD network package, and noticed a
reference to the following in the ChangeLog
(http://sourceware.org/ml/ecos-discuss/2005-06/msg00151.html).

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.

Jay


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]