Re: [RFC PATCH 2/3] kmemleak: Add callbacks to the bootmem allocator

Johannes Weiner
2009-07-08T09:39:53Z

On Tue, Jul 07, 2009 at 11:09:46PM +0100, Catalin Marinas wrote:

> It seems that alloc_bootmem_core() is central to all the bootmem
> allocations. Is it OK to place the kmemleak_alloc hook only in this
> function?
>
> diff --git a/mm/bootmem.c b/mm/bootmem.c
> index 5a649a0..74cbb34 100644
> --- a/mm/bootmem.c
> +++ b/mm/bootmem.c
> @@ -520,6 +520,7 @@ find_block:
> region = phys_to_virt(PFN_PHYS(bdata->node_min_pfn) +
> start_off);
> memset(region, 0, size);
> + kmemleak_alloc(region, size, 1, 0);
> return region;
> }

Yes, that should work.

> > > > + kmemleak_alloc(ptr, size, 1, GFP_KERNEL);
> >
> > These GFP_KERNEL startled me. We know for sure that this code runs in
> > earlylog mode only and gfp is unused, right? Can you perhaps just
> > pass 0 for gfp instead?
>
> Yes, indeed.

Thank you.

Hannes