check return value of kmalloc() in setup_cpu_cache()
PATCH 1/1 check return value of kmalloc() in setup_cpu_cache()
This patch makes crash happen when allocation of cpucache data fails in setup_cpu_cache(). It is a bit better than getting kernel NULL pointer dereference later.
CC Pekka Enberg <[email protected]>
Signed-off-by Akinobu Mita <[email protected]>
mm/slab.c | 1 + 1 file changed, 1 insertion(+)
mm/slab.c +1 -0
@@ -1932,6 +1932,7 @@ static void setup_cpu_cache(struct kmem_ }else { cachep->array[smp_processor_id ()] =kmalloc (sizeof (struct arraycache_init ),GFP_KERNEL ); +BUG_ON (!cachep->array[smp_processor_id ()]);if (g_cpucache_up ==PARTIAL_AC ) {set_up_list3s (cachep,SIZE_L3 );
Quoted 3 lines · On Sun, 13 Aug 2006 18:16:54 +0800 Akinobu Mita <[email protected]> wrote:
This patch makes crash happen when allocation of cpucache data fails in
setup_cpu_cache(). It is a bit better than getting kernel NULL pointer dereference later.
This code is called on the kmem_cache_create() path. We should back out and return -ENOMEM from kmem_cache_create().