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

[ Available lists | Index of cvs-src | Month of Aug 2004 | Week of 11 Aug 2004 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Robert Watson <rwatson@FreeBSD.org>
Date
11 Aug 2004 19:30:27
Subject
Re: cvs commit: src/sys/netinet ip_divert.c raw_ip.c tcp_hostcache.c tcp_subr.c tcp_syncache.c udp_usrreq.c
Message-ID
Pine.NEB.3.96L.1040811152706.26298B-100000@fledge.watson.org


[ Hide this part ]
 
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@fledge.watson.org Principal Research Scientist, McAfee Research



Elapsed time: 0.092 seconds