Index: linux-2.6.21-rc6/mm/slub.c =================================================================== --- linux-2.6.21-rc6.orig/mm/slub.c 2007-04-19 22:13:28.000000000 -0700 +++ linux-2.6.21-rc6/mm/slub.c 2007-04-19 22:15:31.000000000 -0700 @@ -3351,9 +3351,19 @@ static int sysfs_slab_alias(struct kmem_ { struct saved_alias *al; - if (slab_state == SYSFS) - return sysfs_create_link(&slab_subsys.kset.kobj, + if (slab_state == SYSFS) { + int rc; + + /* + * Aliases are there mainly for decorative purposes + * and we have no way of removing them properly. + * It may fail if we have created it before. + * f.e. module unloading and loading. + */ + rc = sysfs_create_link(&slab_subsys.kset.kobj, &s->kobj, name); + return 0; + } al = kmalloc(sizeof(struct saved_alias), GFP_KERNEL); if (!al)