uma_zfree(NULL) is broken
John Baldwin
jhb at freebsd.org
Tue Oct 19 13:16:26 UTC 2010
On Monday, October 18, 2010 4:59:17 pm mdf at freebsd.org wrote:
> 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.
Given that free(3) and free(9) both handle NULL, I think it makes sense for
uma_zfree() to do so as well.
--
John Baldwin
More information about the freebsd-current
mailing list