This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
sodealloc
- From: Jay Foster <jay at systech dot com>
- To: "'ecos-discuss at sourceware dot org'" <ecos-discuss at sourceware dot org>
- Cc: Jay Foster <jay at systech dot com>
- Date: Thu, 20 Apr 2006 16:56:02 -0700
- Subject: [ECOS] 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