>>> >From 7ed7f53bb597e8cb40d9ac91ce16142fb60f1e93 Mon Sep 17 00:00:00 2001 >>> From: Michal Hocko <mhocko@xxxxxxx> >>> Date: Fri, 22 Mar 2013 10:22:54 +0100 >>> Subject: [PATCH] memcg: fix memcg_cache_name() to use cgroup_name() >>> >>> As cgroup supports rename, it's unsafe to dereference dentry->d_name >>> without proper vfs locks. Fix this by using cgroup_name() rather than >>> dentry directly. >>> >>> Also open code memcg_cache_name because it is called only from >>> kmem_cache_dup which frees the returned name right after >>> kmem_cache_create_memcg makes a copy of it. Such a short-lived >>> allocation doesn't make too much sense. So replace it by a static >>> buffer as kmem_cache_dup is called with memcg_cache_mutex. >>> >> >> I doubt it's a win to add 4K to kernel text size instead of adding >> a few extra lines of code... but it's up to you. > > I will leave the decision to Glauber. The updated version which uses > kmalloc for the static buffer is bellow. > I don't have strong preference. Glauber, what's your opinion? ... > static struct kmem_cache *kmem_cache_dup(struct mem_cgroup *memcg, > struct kmem_cache *s) > { > - char *name; > struct kmem_cache *new; > + static char *tmp_name = NULL; (minor nitpick) why not preserve the name "name" -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>