From: "Catalin Marinas" <catalin.marinas@gmail.com>
To: "Pekka J Enberg" <penberg@cs.helsinki.fi>
Cc: "Ingo Molnar" <mingo@elte.hu>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.17-rc6 7/9] Remove some of the kmemleak false positives
Date: Mon, 12 Jun 2006 13:53:56 +0100 [thread overview]
Message-ID: <b0943d9e0606120553v7bcb1678p9f45fc4097b7ebe7@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0606121446130.7129@sbz-30.cs.Helsinki.FI>
On 12/06/06, Pekka J Enberg <penberg@cs.helsinki.fi> wrote:
> On Mon, 12 Jun 2006, Ingo Molnar wrote:
> > > I found at least two unacceptable false positive classes:
> > >
> > > - arch/i386/kernel/setup.c:
> > > False positive because res pointer is stored in a global instance of
> > > struct resource.
> >
> > there's no good way around this one but to annotate it in one way or
> > another.
>
> Scanning bss and data sections is too expensive, I guess. I would prefer
> we create a separate section for gc roots but what you're suggesting is
> ok as well.
Data and BSS sections are scanned, otherwise it would report a lot of
false positives.
Looking again at this false positive, I might have been wrong in the
first place. Since the iomem_resource is scanned (being in the data
section), there should be a way to get to the "res" pointer, unless
the request_resource() doesn't return NULL (or some other sibling is
freed without calling release_resource).
> On Mon, 12 Jun 2006, Ingo Molnar wrote:
> > > - drivers/base/platform.c and fs/ext3/dir.c:
> > > False positive because we allocate memory for struct + some extra
> > > stuff.
> > >
> > > At least the latter can be fixed as outlined by Catalin in another
> > > mail.
> >
> > yes.
>
> Indeed and should be fixed before inclusion.
... with a slight risk of increasing the false negatives (but reducing
the memleak_padding calls).
The reason for the current implementation - because the type
information is lost in alloc calls, there is no way to know what type
of structure it is and what container_of() macros are used on its
members. The sizeof() value provides an approximation to this but this
assumption is broken once the allocated memory is different from the
size of the allocated structure. The above idea would eliminate these
issues
--
Catalin
next prev parent reply other threads:[~2006-06-12 12:53 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-11 11:18 [PATCH 2.6.17-rc6 0/9] Kernel memory leak detector 0.7 Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 1/9] Base support for kmemleak Catalin Marinas
2006-06-13 11:14 ` Pekka Enberg
2006-06-13 12:47 ` Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 2/9] Some documentation " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 3/9] Add the memory allocation/freeing hooks " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 4/9] Modules support " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 5/9] Add kmemleak support for i386 Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 6/9] Add kmemleak support for ARM Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 7/9] Remove some of the kmemleak false positives Catalin Marinas
2006-06-12 5:19 ` Pekka Enberg
2006-06-12 8:11 ` Catalin Marinas
2006-06-12 8:17 ` Pekka J Enberg
2006-06-12 8:43 ` Catalin Marinas
2006-06-12 10:53 ` Ingo Molnar
2006-06-12 11:08 ` Pekka J Enberg
2006-06-12 11:36 ` Ingo Molnar
2006-06-12 11:56 ` Pekka J Enberg
2006-06-12 12:53 ` Catalin Marinas [this message]
2006-06-12 13:12 ` Ingo Molnar
2006-06-12 14:38 ` Catalin Marinas
2006-06-12 22:29 ` Catalin Marinas
2006-06-12 12:56 ` Catalin Marinas
2006-06-12 19:22 ` Ingo Molnar
2006-06-12 22:24 ` Catalin Marinas
2006-06-13 5:53 ` Pekka J Enberg
2006-06-13 6:59 ` Catalin Marinas
2006-06-13 7:57 ` Pekka J Enberg
2006-06-13 9:45 ` Catalin Marinas
2006-06-13 10:04 ` Pekka Enberg
2006-06-13 10:37 ` Catalin Marinas
2006-06-13 7:26 ` Ingo Molnar
2006-06-13 8:11 ` Pekka J Enberg
2006-06-13 10:49 ` Catalin Marinas
2006-06-14 4:07 ` Ingo Molnar
2006-06-14 5:46 ` Andi Kleen
2006-06-14 5:53 ` Jeremy Fitzhardinge
2006-06-14 12:03 ` Ingo Molnar
2006-06-14 13:46 ` Catalin Marinas
2006-06-14 13:35 ` Catalin Marinas
2006-06-14 13:21 ` Catalin Marinas
2006-06-12 9:17 ` Peter Zijlstra
2006-06-12 9:35 ` Catalin Marinas
2006-06-24 10:20 ` Catalin Marinas
2006-06-24 10:22 ` Ingo Molnar
2006-06-24 10:55 ` Catalin Marinas
2006-07-24 11:15 ` Ingo Molnar
2006-07-24 13:28 ` Catalin Marinas
2006-08-03 6:32 ` Jakub Jelinek
2006-08-03 8:31 ` Catalin Marinas
2006-06-11 11:22 ` [PATCH 2.6.17-rc6 8/9] Simple testing for kmemleak Catalin Marinas
2006-06-11 11:22 ` [PATCH 2.6.17-rc6 9/9] Keep the __init functions after initialization Catalin Marinas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b0943d9e0606120553v7bcb1678p9f45fc4097b7ebe7@mail.gmail.com \
--to=catalin.marinas@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=penberg@cs.helsinki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®