diff --git a/mm/slab.c b/mm/slab.c index cfa6be4e378ea1c625081e3ace43c5b212f41968..c31cd3682a0b77ded3ac4e76cded3f427537a551 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -1043,7 +1043,7 @@ static struct array_cache **alloc_alien_cache(int node, int limit) } ac_ptr[i] = alloc_arraycache(node, limit, 0xbaadf00d); if (!ac_ptr[i]) { - for (i--; i <= 0; i--) + for (i--; i >= 0; i--) kfree(ac_ptr[i]); kfree(ac_ptr); return NULL;