From b67a79a13ae2a42ed4a64bfd2bd3b4982cfdefca Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Sun, 2 Jun 2013 18:50:56 +0200 Subject: Fix yet another locking error in the slab allocator * kern/slab.c (kmem_cache_free): Relock cache before retrying releasing an object to the CPU pool layer. --- kern/slab.c | 1 + 1 file changed, 1 insertion(+) (limited to 'kern') diff --git a/kern/slab.c b/kern/slab.c index d14d07a..56fadbf 100644 --- a/kern/slab.c +++ b/kern/slab.c @@ -1229,6 +1229,7 @@ fast_free: simple_unlock(&cpu_pool->lock); kmem_cache_free(cache->cpu_pool_type->array_cache, (vm_offset_t)array); + simple_lock(&cpu_pool->lock); goto fast_free; } -- cgit v1.2.3