Re: [PATCH] unlock before bug returns

From: Pekka Enberg
Date: Mon Oct 22 2007 - 08:40:53 EST


Hi Roel,

On 10/22/07, Roel Kluin <12o3l@xxxxxxxxxx> 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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/