mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
mm, slab: memcg_link the SLAB's kmem_cache
All the root caches are linked into slab_root_caches which was introduced by the commit510ded33e0
("slab: implement slab_root_caches list") but it missed to add the SLAB's kmem_cache. While experimenting with opt-in/opt-out kmem accounting, I noticed system crashes due to NULL dereference inside cache_from_memcg_idx() while deferencing kmem_cache.memcg_params.memcg_caches. The upstream clean kernel will not see these crashes but SLAB should be consistent with SLUB which does linked its boot caches (kmem_cache_node and kmem_cache) into slab_root_caches. Link: http://lkml.kernel.org/r/20180319210020.60289-1-shakeelb@google.com Fixes:510ded33e0
("slab: implement slab_root_caches list") Signed-off-by: Shakeel Butt <shakeelb@google.com> Cc: Tejun Heo <tj@kernel.org> Cc: Vladimir Davydov <vdavydov.dev@gmail.com> Cc: Greg Thelen <gthelen@google.com> Cc: Christoph Lameter <cl@linux.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
3eb2ce825e
commit
880cd276df
1 changed files with 1 additions and 0 deletions
|
@ -1283,6 +1283,7 @@ void __init kmem_cache_init(void)
|
||||||
nr_node_ids * sizeof(struct kmem_cache_node *),
|
nr_node_ids * sizeof(struct kmem_cache_node *),
|
||||||
SLAB_HWCACHE_ALIGN, 0, 0);
|
SLAB_HWCACHE_ALIGN, 0, 0);
|
||||||
list_add(&kmem_cache->list, &slab_caches);
|
list_add(&kmem_cache->list, &slab_caches);
|
||||||
|
memcg_link_cache(kmem_cache);
|
||||||
slab_state = PARTIAL;
|
slab_state = PARTIAL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue