Re: [PATCH] mm: fix race between kmem_cache destroy, create and deactivate

From: kbuild test robot
Date: Tue May 22 2018 - 16:21:20 EST


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

Attachment: .config.gz
Description: application/gzip