>>> >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 from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html