Index: linux-2.6.21-rc1/mm/slub.c =================================================================== --- linux-2.6.21-rc1.orig/mm/slub.c 2007-02-28 07:30:06.000000000 -0800 +++ linux-2.6.21-rc1/mm/slub.c 2007-02-28 07:55:22.000000000 -0800 @@ -1772,24 +1772,16 @@ void __init kmem_cache_init(void) static struct kmem_cache *kmem_cache_dup(struct kmem_cache *s, gfp_t flags, const char *name) { - char *x; - atomic_inc(&s->refcount); -#if 0 down_write(&slabstat_sem); if (!s->aliases) s->aliases = kstrdup(name, flags); else { - x = kmalloc(strlen(s->aliases) + strlen(name) + 1, - flags); - strcpy(x, s->aliases); - strcat(x, " "); - strcat(x, name); - kfree(s->aliases); - s->aliases = x; + char *x = s->aliases; + s->aliases = kasprintf(flags, "%s/%s", s->aliases, name); + kfree(x); } up_write(&slabstat_sem); -#endif return s; }