Hi Shakeel, Thank you for the patch! Yet something to improve: [auto build test ERROR on mmotm/master] [also build test ERROR on v4.17-rc6 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shakeel-Butt/mm-fix-race-between-kmem_cache-destroy-create-and-deactivate/20180523-041715 base: git://git.cmpxchg.org/linux-mmotm.git master config: i386-randconfig-x009-201820 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): mm/slub.c: In function '__kmem_cache_alias': >> mm/slub.c:4251:4: error: implicit declaration of function 'kmem_cache_put_locked'; did you mean 'kmem_cache_init_late'? [-Werror=implicit-function-declaration] kmem_cache_put_locked(s); ^~~~~~~~~~~~~~~~~~~~~ kmem_cache_init_late cc1: some warnings being treated as errors vim +4251 mm/slub.c 4226 4227 struct kmem_cache * 4228 __kmem_cache_alias(const char *name, unsigned int size, unsigned int align, 4229 slab_flags_t flags, void (*ctor)(void *)) 4230 { 4231 struct kmem_cache *s, *c; 4232 4233 s = find_mergeable(size, align, flags, name, ctor); 4234 if (s && kmem_cache_tryget(s)) { 4235 s->alias_count++; 4236 4237 /* 4238 * Adjust the object sizes so that we clear 4239 * the complete object on kzalloc. 4240 */ 4241 s->object_size = max(s->object_size, size); 4242 s->inuse = max(s->inuse, ALIGN(size, sizeof(void *))); 4243 4244 for_each_memcg_cache(c, s) { 4245 c->object_size = s->object_size; 4246 c->inuse = max(c->inuse, ALIGN(size, sizeof(void *))); 4247 } 4248 4249 if (sysfs_slab_alias(s, name)) { 4250 s->alias_count--; > 4251 kmem_cache_put_locked(s); 4252 s = NULL; 4253 } 4254 } 4255 4256 return s; 4257 } 4258 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation