diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-11-12 17:02:45 -0500 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-11-12 17:02:45 -0500 |
commit | 0b86d9cde93c665d0f069f84f42f60f8b799f9bf (patch) | |
tree | 5ab0181daedfd4ad0f934351fc949431f5fe9d11 /mm/slub.c | |
parent | df6ae74d1e1126e08328e904df359eddc5335d93 (diff) | |
parent | 5ee93551c703f8fa1a6c414a7d08f956de311df3 (diff) | |
download | linux-rt-0b86d9cde93c665d0f069f84f42f60f8b799f9bf.tar.gz |
Merge tag 'v4.19.82' into v4.19-rt
This is the 4.19.82 stable release
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mm/slub.c b/mm/slub.c index 2240b51a0549..81c32ceab228 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4874,7 +4874,17 @@ static ssize_t show_slab_objects(struct kmem_cache *s, } } - get_online_mems(); + /* + * It is impossible to take "mem_hotplug_lock" here with "kernfs_mutex" + * already held which will conflict with an existing lock order: + * + * mem_hotplug_lock->slab_mutex->kernfs_mutex + * + * We don't really need mem_hotplug_lock (to hold off + * slab_mem_going_offline_callback) here because slab's memory hot + * unplug code doesn't destroy the kmem_cache->node[] data. + */ + #ifdef CONFIG_SLUB_DEBUG if (flags & SO_ALL) { struct kmem_cache_node *n; @@ -4915,7 +4925,6 @@ static ssize_t show_slab_objects(struct kmem_cache *s, x += sprintf(buf + x, " N%d=%lu", node, nodes[node]); #endif - put_online_mems(); kfree(nodes); return x + sprintf(buf + x, "\n"); } |