lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 11 Dec 2008 09:50:52 +0000
From:	Catalin Marinas <catalin.marinas@....com>
To:	Dave Hansen <dave@...ux.vnet.ibm.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 07/15] kmemleak: Add memleak_alloc callback from
	alloc_large_system_hash

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ