Commit 00afa758 authored by Pekka Enberg's avatar Pekka Enberg

SLAB: Fix lockdep annotation breakage

Commit ce79ddc8 ("SLAB: Fix lockdep annotations
for CPU hotplug") broke init_node_lock_keys() off-slab logic which causes
lockdep false positives.

Fix that up by reverting the logic back to original while keeping CPU hotplug
fixes intact.
Reported-and-tested-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Reported-and-tested-by: default avatarAndi Kleen <andi@firstfloor.org>
Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
parent 6b7b2849
...@@ -654,7 +654,7 @@ static void init_node_lock_keys(int q) ...@@ -654,7 +654,7 @@ static void init_node_lock_keys(int q)
l3 = s->cs_cachep->nodelists[q]; l3 = s->cs_cachep->nodelists[q];
if (!l3 || OFF_SLAB(s->cs_cachep)) if (!l3 || OFF_SLAB(s->cs_cachep))
return; continue;
lockdep_set_class(&l3->list_lock, &on_slab_l3_key); lockdep_set_class(&l3->list_lock, &on_slab_l3_key);
alc = l3->alien; alc = l3->alien;
/* /*
...@@ -665,7 +665,7 @@ static void init_node_lock_keys(int q) ...@@ -665,7 +665,7 @@ static void init_node_lock_keys(int q)
* for alloc_alien_cache, * for alloc_alien_cache,
*/ */
if (!alc || (unsigned long)alc == BAD_ALIEN_MAGIC) if (!alc || (unsigned long)alc == BAD_ALIEN_MAGIC)
return; continue;
for_each_node(r) { for_each_node(r) {
if (alc[r]) if (alc[r])
lockdep_set_class(&alc[r]->lock, lockdep_set_class(&alc[r]->lock,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment