uma_zfree(NULL) is broken

mdf at FreeBSD.org mdf at FreeBSD.org
Mon Oct 18 20:59:19 UTC 2010


There's explicit protection for free(NULL, M_FOO), but uma_zfree(zone,
NULL) will put NULL in the local bucket and then probably return it
later from a uma_zalloc call.  Obviously it's not a good idea to call
uma_zfree(9) on NULL, but in this case it's an easy mistake to make
when e.g. converting a set of malloc(9)/free(9) uses into uma(9).

So is the "right" thing to allow a uma_zfree(NULL) and silently
succeed, like for free(9)?  That would be my guess, but I'm open to
alternatives.

Thanks,
matthew


More information about the freebsd-current mailing list