diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-12-27 12:33:14 (GMT) |
---|---|---|
committer | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-12-28 18:57:27 (GMT) |
commit | 00afa758067ac1c947149ef766adcdfe30c44d7d (patch) | |
tree | 7967c8e1b9876553742a73b6f7d155b2745ea671 | |
parent | 6b7b284958d47b77d06745b36bc7f36dab769d9b (diff) | |
download | linux-00afa758067ac1c947149ef766adcdfe30c44d7d.tar.xz |
SLAB: Fix lockdep annotation breakage
Commit ce79ddc8e2376a9a93c7d42daf89bfcbb9187e62 ("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: Heiko Carstens <heiko.carstens@de.ibm.com>
Reported-and-tested-by: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
-rw-r--r-- | mm/slab.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -654,7 +654,7 @@ static void init_node_lock_keys(int q) l3 = s->cs_cachep->nodelists[q]; if (!l3 || OFF_SLAB(s->cs_cachep)) - return; + continue; lockdep_set_class(&l3->list_lock, &on_slab_l3_key); alc = l3->alien; /* @@ -665,7 +665,7 @@ static void init_node_lock_keys(int q) * for alloc_alien_cache, */ if (!alc || (unsigned long)alc == BAD_ALIEN_MAGIC) - return; + continue; for_each_node(r) { if (alc[r]) lockdep_set_class(&alc[r]->lock, |