Messages in this thread | | | Subject | Re: [PATCH 03/15] kmemleak: Add the slab memory allocation/freeing hooks | From | Catalin Marinas <> | Date | Thu, 18 Dec 2008 16:38:28 +0000 |
| |
On Thu, 2008-12-18 at 12:46 +0200, Pekka Enberg wrote: > On Fri, 2008-12-12 at 14:27 +0000, Catalin Marinas wrote: > > > Do you take care of the per-node lists as well? > > > > I can't figure out what other location should be erased. > > As far as I can tell, you need to tell kmemleak not to scan the alien > caches and the shared array that is shared by all CPUs that belong to > one node. I'm adding Christoph to the CC in case he wants to comment on > this.
In the ____cache_alloc() kmemleak clears the cachep->array->entry[ac->avail] pointer but this may not be enough as freed and later re-allocated objects may have pointers in the alien cache (is that correct?). A better approach (haven't tried it yet) would be not to scan objects allocated via alloc_arraycache() at all. However, there is still the initarray_cache/generic which are automatically scanned via the data section (unless I add an attribute to place them in a different, not scanned, section).
-- Catalin
| |