Re: SLUB: Return ZERO_SIZE_PTR for kmalloc(0)

From: John Anthony Kazos Jr.
Date: Fri Jun 01 2007 - 22:10:39 EST


> + * The behavior for zero sized allocs changes. We no longer
> + * allocate memory but return ZERO_SIZE_PTR.
> + * WARN so that people can review and fix their code.

I don't see why people have so much opposition to zero-size memory
allocations. There's all sorts of situations where you want a resizeable
array that may have zero objects, especially in these days of
hotpluggability.

Not only is it simpler (and therefore less likely to be buggy) to write
code to simply resize to current number of objects, but not having to make
additional code for checking the special case of count==0 leading to
different function calls (instead of always reallocating, you might have
to allocate instead, and instead of reallocating to zero you might have to
free instead) will very slightly increase the object-text size.

The standard-C behavior of valid zero-size allocation has a very good
reason.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/