Commit fd0ccaf2 authored by Li Zefan's avatar Li Zefan Committed by Linus Torvalds
Browse files

memcg: avoid accessing memcg after releasing reference



This might cause a use-after-free bug.

Signed-off-by: default avatarLi Zefan <lizefan@huawei.com>
Cc: Glauber Costa <glommer@parallels.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 865ffef3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3215,12 +3215,12 @@ void memcg_release_cache(struct kmem_cache *s)

	root = s->memcg_params->root_cache;
	root->memcg_params->memcg_caches[id] = NULL;
	mem_cgroup_put(memcg);

	mutex_lock(&memcg->slab_caches_mutex);
	list_del(&s->memcg_params->list);
	mutex_unlock(&memcg->slab_caches_mutex);

	mem_cgroup_put(memcg);
out:
	kfree(s->memcg_params);
}