X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=mm%2Fslub.c;h=0987d1cd943cc88d626a7d1b1097ba1f83243591;hb=dab8c6deaf1d654d09c3de8bd4c286d424df255a;hp=d379b782fc8325cec775bc1daca939bbe06d6d75;hpb=e098675635479e9267cf2b12fb969c463cf506ab;p=linux-2.6-omap-h63xx.git diff --git a/mm/slub.c b/mm/slub.c index d379b782fc8..0987d1cd943 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2726,9 +2726,10 @@ size_t ksize(const void *object) page = virt_to_head_page(object); - if (unlikely(!PageSlab(page))) + if (unlikely(!PageSlab(page))) { + WARN_ON(!PageCompound(page)); return PAGE_SIZE << compound_order(page); - + } s = page->slab; #ifdef CONFIG_SLUB_DEBUG @@ -3762,7 +3763,7 @@ static int any_slab_objects(struct kmem_cache *s) if (!n) continue; - if (atomic_read(&n->total_objects)) + if (atomic_long_read(&n->total_objects)) return 1; } return 0;