diff
24  	if (!mem)
+25  	    goto err_out;
26  	pool = &mem->defpool;
...
29  	if (!pool->slots)
+30  	    goto err_free_mem;
...
36  	if (!pool->areas)
+37  	    goto err_free_slots;
...
49  	spin_lock_init(&mem->lock);
...
+100  err_free_areas:
+101      kfree(pool->areas);
+102  err_free_slots:
+103      kfree(pool->slots);
+104  err_free_mem:
+105      kfree(mem);
+106  err_out:
+107      return -ENOMEM;
