Re: [PATCH 03/10] Add the memory allocation/freeing hooks for kmemleak

From: Pekka Enberg
Date: Tue Jul 11 2006 - 02:15:50 EST


Hi Catalin

On 7/11/06, Catalin Marinas <catalin.marinas@xxxxxxxxx> wrote:
diff --git a/mm/slab.c b/mm/slab.c
index 85c2e03..2752272 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2967,6 +2967,7 @@ #endif
STATS_INC_ALLOCMISS(cachep);
objp = cache_alloc_refill(cachep, flags);
}
+ memleak_erase(&ac->entry[ac->avail]);
return objp;
}

Can't we tell the GC not to scan any of the array cache structs? You
could put that in alloc_arraycache(), I think.

@@ -3209,7 +3211,11 @@ static void __cache_free(struct kmem_cac
*/
void *kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags)
{
- return __cache_alloc(cachep, flags, __builtin_return_address(0));
+ void *ptr = __cache_alloc(cachep, flags, __builtin_return_address(0));
+
+ memleak_alloc(ptr, obj_size(cachep), 1);

Can you move memleak_alloc() call to __cache_alloc() instead to avoid
duplication?
-
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/