lkml.org 
[lkml]   [2008]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 07/15] kmemleak: Add memleak_alloc callback from alloc_large_system_hash
From
Date
On Wed, 2008-12-10 at 11:04 -0800, Dave Hansen wrote:
> On Wed, 2008-12-10 at 18:27 +0000, Catalin Marinas wrote:
> >
> > @@ -4570,6 +4571,8 @@ void *__init alloc_large_system_hash(const char *tablename,
> > if (_hash_mask)
> > *_hash_mask = (1 << log2qty) - 1;
> >
> > + memleak_alloc(table, size, 1, GFP_ATOMIC);
> > +
> > return table;
> > }
>
> Why is this sucker GFP_ATOMIC?

It could be GFP_KERNEL, it don't think it really matter at this point.

> Since alloc_large_system_hash() is using bootmem (and is called early),
> I'm a little surprised that it is OK to call into memleak_alloc() which
> uses kmem_cache_alloc(). Is the slab even set up at this point?

It doesn't need to be. Early callbacks like this are logged by kmemleak
in a buffer and properly registered once the slab allocator is fully
initialised (slab initialisation needs to allocate some memory for
itself as well).

--
Catalin



\
 
 \ /
  Last update: 2008-12-11 10:53    [W:0.065 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site