On Sat, Jun 29, 2019 at 7:05 AM Alexey Dobriyan <[email protected]> wrote:
>
> > -       if (flags & SLAB_PANIC)
> > -               panic("Cannot create slab %s size=%u realsize=%u order=%u 
> > offset=%u flags=%lx\n",
> > -                     s->name, s->size, s->size,
> > -                     oo_order(s->oo), s->offset, (unsigned long)flags);
>
> This is wrong. Without SLAB_PANIC people will start to implement error
> checking out of habit and add all slightly different error messages.
> This simply increases text and rodata size.
>
> If memcg kmem caches creation failure is OK, then SLAB_PANIC should not
> be passed.
>
> The fact that SLAB doesn't implement SLAB_PANIC is SLAB bug.

I do not agree with you. IMHO the kmem_cache_create_usercopy() is the
right place to handle SLAB_PANIC which is handling it. If you want
extra info here, you can add pr_warn for SLAB_PANIC here and the
caller will still and rightfully do the panic().

thanks,
Shakeel

Reply via email to