Messages in this thread | | | Subject | Re: [PATCH v2 0/3] kmemleak: Fix false positive with special scan | From | Catalin Marinas <> | Date | Wed, 02 Jun 2010 15:12:29 +0100 |
| |
On Wed, 2010-06-02 at 12:34 +0100, Hiroshi DOYU wrote: > From: ext Catalin Marinas <catalin.marinas@arm.com> > > Can we not add a new prio tree (or just use the existing one) for > > pointer aliases? The advantage is that you only have a single function > > to call, something like kmemleak_add_alias() and you do it at the point > > the value was converted. > > Actually I considered the above aliasing a little bit but I gave up > soon. > > I was afraid that this method might consume way more memory since this > just adds another member for "struct kmemleak_object", but adding a > single member for all objects. The number of kmemleak_object is > usually numerous.
We could use a different tree with a "struct kmemleak_alias" structure which is much smaller. Something like below:
struct kmemleak_alias { struct list_head alias_list; struct prio_tree_node tree_node; struct kmemleak_object *object; }
And an alias_list member would be added to kmemleak_object as well.
Would the alias tree need to allow overlapping? Like different IOMMU mappings with the same address (but pointing to different physical memory).
-- Catalin
| |