diff
--- a/code.c
+++ b/code.c
@@ -29,6 +29,9 @@
 26 		pool = &mem->defpool;
 28 		pool->slots = kcalloc(nslabs, sizeof(*pool->slots), GFP_KERNEL);
 29 		if (!pool->slots) {
+30 			kfree(mem); // Free mem if kcalloc fails
+31 			return -ENOMEM; // Return an error
+32 		}
 34 		pool->areas = kcalloc(nareas, sizeof(*pool->areas),
 36 		if (!pool->areas) {
 46 		mem->force_bounce = true;

