Commit 00afa758067ac1c947149ef766adcdfe30c44d7d
1 parent
6b7b284958
Exists in
master
and in
7 other branches
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>
Showing 1 changed file with 2 additions and 2 deletions Side-by-side Diff
mm/slab.c
... | ... | @@ -654,7 +654,7 @@ |
654 | 654 | |
655 | 655 | l3 = s->cs_cachep->nodelists[q]; |
656 | 656 | if (!l3 || OFF_SLAB(s->cs_cachep)) |
657 | - return; | |
657 | + continue; | |
658 | 658 | lockdep_set_class(&l3->list_lock, &on_slab_l3_key); |
659 | 659 | alc = l3->alien; |
660 | 660 | /* |
... | ... | @@ -665,7 +665,7 @@ |
665 | 665 | * for alloc_alien_cache, |
666 | 666 | */ |
667 | 667 | if (!alc || (unsigned long)alc == BAD_ALIEN_MAGIC) |
668 | - return; | |
668 | + continue; | |
669 | 669 | for_each_node(r) { |
670 | 670 | if (alc[r]) |
671 | 671 | lockdep_set_class(&alc[r]->lock, |