From b54c7e38d8871a0c8b7694e7fd02062cf7ca988a Mon Sep 17 00:00:00 2001 From: Richard Braun Date: Sun, 21 Apr 2013 00:58:54 +0200 Subject: Fix locking error in the slab allocator * kern/slab.c (kmem_cache_free): Lock cache before releasing an object to the slab layer. --- kern/slab.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'kern') diff --git a/kern/slab.c b/kern/slab.c index 99d5bca..3db4db1 100644 --- a/kern/slab.c +++ b/kern/slab.c @@ -1305,7 +1305,9 @@ fast_free: slab_free: #endif /* SLAB_USE_CPU_POOLS */ + simple_lock(&cache->lock); kmem_cache_free_to_slab(cache, (void *)obj); + simple_unlock(&cache->lock); } void slab_collect(void) -- cgit v1.2.3