Re: [RFC 2/4] CONFIG_STABLE: Switch off kmalloc(0) tests in slab allocators

Andi Kleen
2007-05-31T21:41:19Z

Zach Brown <zach.brown@oracle.com> writes:

> > +#ifndef CONFIG_STABLE
> > /*
> > * We should return 0 if size == 0 (which would result in the
> > * kmalloc caller to get NULL) but we use the smallest object
> > @@ -81,6 +82,7 @@ static inline int kmalloc_index(size_t s
> > * we can discover locations where we do 0 sized allocations.
> > */
> > WARN_ON_ONCE(size == 0);
> > +#endif
>
> > +#ifndef CONFIG_STABLE
> > WARN_ON_ONCE(size == 0);
> > +#endif
>
> I wonder if there wouldn't be value in making a WARN_*() variant that
> contained the ifdef internally so we could lose these tedious
> surrounding ifdefs in call sites. WARN_DEVELOPER_WHEN(), or something.
> I don't care what it's called.

Networking has had NETDEBUG(codeblock) for this. Perhaps something
similar would be useful (DEVELOPMENT(codeblock)) in addition
to the special WARN/BUG_ONs

-Andi