On 10/22/2007 02:40 PM, Pekka Enberg wrote:
quoted text > On 10/22/07, Roel Kluin <12o3l@tiscali.nl> wrote:
>> diff --git a/mm/slab.c b/mm/slab.c
>> index cfa6be4..20c58dc 100644
>> --- a/mm/slab.c
>> +++ b/mm/slab.c
>> @@ -1606,8 +1606,10 @@ void __init kmem_cache_init(void)
>> struct kmem_cache *cachep;
>> mutex_lock(&cache_chain_mutex);
>> list_for_each_entry(cachep, &cache_chain, next)
>> - if (enable_cpucache(cachep))
>> + if (enable_cpucache(cachep)) {
>> + mutex_unlock(&cache_chain_mutex);
>> BUG();
>> + }
>> mutex_unlock(&cache_chain_mutex);
>> }
>
> NAK. This will cause double-unlock when CONFIG_BUG is disabled. It's
> incorrect to assume that BUG() will always terminate the current
> process.
(which by the way also means that the "return;" delete from your original
patch changes behaviour for !CONFIG_BUG, and probably not for the better).
Rene.
-
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [PATCH] unlock before bug returns , Rene Herman , (Mon Oct 22, 8:49 am)