diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-12-27 14:33:14 +0200 |
---|---|---|
committer | Pekka Enberg <penberg@cs.helsinki.fi> | 2009-12-28 20:57:27 +0200 |
commit | 00afa758067ac1c947149ef766adcdfe30c44d7d (patch) | |
tree | 7967c8e1b9876553742a73b6f7d155b2745ea671 /mm/slab.c | |
parent | 6b7b284958d47b77d06745b36bc7f36dab769d9b (diff) | |
download | linux-exynos-00afa758067ac1c947149ef766adcdfe30c44d7d.tar.gz linux-exynos-00afa758067ac1c947149ef766adcdfe30c44d7d.tar.bz2 linux-exynos-00afa758067ac1c947149ef766adcdfe30c44d7d.zip |
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>
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c index 7d41f15b48d3..7451bdacaf18 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -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, |