cvs commit: src/sys/netinet ip_divert.c raw_ip.ctcp_hostcache.c
tcp_subr.c tcp_syncache.c udp_usrreq.c
Andre Oppermann
andre at freebsd.org
Wed Aug 11 11:09:22 PDT 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?
In all cases the zone is used as kmalloc replacement. It always
initializes a newly allocated object. It always unlinks the object
from any lists before it uma_zfree's it. All such operations are
covered by mutexes, no concurrent access should happen. If there
is any use-after-free then it is a bug that needs to be fixed.
I hope/guess that this sufficiently non-type-stable wrt UMA to remove
NOFREE.
--
Andre
> -Bosko
>
> andre 2004-08-11 17:08:32 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/netinet ip_divert.c raw_ip.c tcp_hostcache.c
> tcp_subr.c tcp_syncache.c udp_usrreq.c
> Log:
> Remove the UMA_ZONE_NOFREE flag to all uma_zcreate() calls in the IP and
> TCP code. This flag would have prevented giving back excessive free slabs
> to the global pool after a transient peak usage.
More information about the cvs-src
mailing list