cvs commit: src/sys/netinet ip_divert.c raw_ip.c tcp_hostcache.c tcp_subr.c tcp_syncache.c udp_usrreq.c

Robert Watson rwatson at FreeBSD.org
Wed Aug 11 12:30:27 PDT 2004


On Wed, 11 Aug 2004, Bosko Milekic wrote:

> Please be careful here.  The reason they were NOFREE before was because
> the original zone code was implicitly nofree.  If these structures need
> to be type stable, then you just broke them with this commit.  So are
> you sure that they absolutely do not need to be type stable? 

Often, zones with the old zone allocator being type-stable allowed low
cost monitoring using generation numbers (see the UNIX domain socket code
as an example).  As a result, monitoring code will assume it can walk the
global list of sockets even after the sockets are free'd, and detect it
with the generation number.  This may or may not apply to the pcbs (don't
have source in front of me), but the caution definitely applies. 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Principal Research Scientist, McAfee Research




More information about the cvs-all mailing list