aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mm/slab.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/slab.c b/mm/slab.c
index 8b71a9c3daa4..21b2aef25254 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2990,6 +2990,14 @@ retry:
2990 slabp = list_entry(entry, struct slab, list); 2990 slabp = list_entry(entry, struct slab, list);
2991 check_slabp(cachep, slabp); 2991 check_slabp(cachep, slabp);
2992 check_spinlock_acquired(cachep); 2992 check_spinlock_acquired(cachep);
2993
2994 /*
2995 * The slab was either on partial or free list so
2996 * there must be at least one object available for
2997 * allocation.
2998 */
2999 BUG_ON(slabp->inuse < 0 || slabp->inuse >= cachep->num);
3000
2993 while (slabp->inuse < cachep->num && batchcount--) { 3001 while (slabp->inuse < cachep->num && batchcount--) {
2994 STATS_INC_ALLOCED(cachep); 3002 STATS_INC_ALLOCED(cachep);
2995 STATS_INC_ACTIVE(cachep); 3003 STATS_INC_ACTIVE(cachep);