From: Catalin Marinas <catalin.marinas@arm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-next@vger.kernel.org
Subject: Re: [PATCH 00/14] Kernel memory leak detector
Date: Tue, 30 Dec 2008 11:43:50 +0000 [thread overview]
Message-ID: <1230637430.3909.38.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <20081229162310.705a25fe.akpm@linux-foundation.org>
On Mon, 2008-12-29 at 16:23 -0800, Andrew Morton wrote:
> What is the track record of this code? Has it found many leaks? Do
> we expect that it will find sufficient leaks of sufficient importance
> to justify kmemleak's inclusion and maintenance?
It found a few leaks not found by static code analysis (not many though)
but I mainly tested it on small embedded systems. I think it may be
better to include it in the -mm tree for a while so that more people
test it before deciding whether to merge it into mainline.
FYI, here are some past reports:
http://lkml.org/lkml/2006/5/28/37
http://lkml.org/lkml/2006/7/10/370
http://lkml.org/lkml/2006/8/10/207
http://lkml.org/lkml/2006/8/12/11
http://lkml.org/lkml/2006/8/19/44
http://lkml.org/lkml/2006/12/9/178
http://lkml.org/lkml/2006/12/9/176
http://lkml.org/lkml/2007/3/8/222
http://lkml.org/lkml/2008/11/19/204
> I'm a little doubtful personally. We often fix leaks, and they are
> almost always things which nobody noticed at runtime, and which were
> found by code inspection or source-code checking tools. And they're
> usually leaks which nobody would care about much anyway?
I'm a bit biased to comment on the usefulness of kmemleak :-). Anyway,
AFAIK static code checking tools (like coverity) are good for relatively
simple things like not freeing on an error return path (maybe they can
go further across multiple files, I haven't tried it). I doubt such
tools can catch leaks caused by incorrect reference counting or very
complex code. OTOH, kmemleak doesn't report a leak unless it occurred,
so static and dynamic checking tools are rather complementary.
Now, as long as the code is correctly written and with additional static
checking, kmemleak shouldn't find a significant number of bugs. However,
some (earlier) bugs mentioned above were causing tens of (small) leaks
in a few minutes. They may have become visible after days of running but
it's much easier to catch and fix them early.
You can't really tell whether a leak is serious or not until you check
the code. A leak doesn't necessarily mean that you can no longer reuse a
block of memory but the code possibly frees a different one still in use
by other parts of the kernel (e.g. the last report mentioned above).
--
Catalin
next prev parent reply other threads:[~2008-12-30 11:44 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-19 18:12 Catalin Marinas
2008-12-19 18:13 ` [PATCH 01/14] kmemleak: Add the base support Catalin Marinas
2008-12-19 20:08 ` Pekka Enberg
2008-12-19 22:02 ` Ingo Molnar
2008-12-19 22:14 ` Andrew Morton
2008-12-22 13:05 ` Catalin Marinas
2008-12-30 0:23 ` Andrew Morton
2008-12-30 7:38 ` Ingo Molnar
2008-12-30 7:44 ` Andrew Morton
2008-12-30 7:52 ` Ingo Molnar
2008-12-30 7:59 ` Andrew Morton
2008-12-30 10:48 ` Catalin Marinas
2008-12-19 18:13 ` [PATCH 02/14] kmemleak: Add documentation on the memory leak detector Catalin Marinas
2008-12-19 18:30 ` Randy Dunlap
2008-12-19 18:13 ` [PATCH 03/14] kmemleak: Add the slab memory allocation/freeing hooks Catalin Marinas
2008-12-19 20:05 ` Pekka Enberg
2008-12-19 18:13 ` [PATCH 04/14] kmemleak: Add the slob " Catalin Marinas
2008-12-19 18:13 ` [PATCH 05/14] kmemleak: Add the slub " Catalin Marinas
2008-12-19 20:05 ` Pekka Enberg
2008-12-19 18:13 ` [PATCH 06/14] kmemleak: Add the vmalloc " Catalin Marinas
2008-12-19 18:13 ` [PATCH 07/14] kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash Catalin Marinas
2008-12-19 18:13 ` [PATCH 08/14] kmemleak: Add modules support Catalin Marinas
2008-12-19 18:13 ` [PATCH 09/14] x86: Provide _sdata in the vmlinux_*.lds.S files Catalin Marinas
2008-12-19 18:13 ` [PATCH 10/14] arm: Provide _sdata and __bss_stop in the vmlinux.lds.S file Catalin Marinas
2008-12-19 18:13 ` [PATCH 11/14] kmemleak: Remove some of the kmemleak false positives Catalin Marinas
2008-12-19 20:15 ` Pekka Enberg
2008-12-22 12:04 ` Catalin Marinas
2008-12-19 18:14 ` [PATCH 12/14] kmemleak: Enable the building of the memory leak detector Catalin Marinas
2008-12-19 18:14 ` [PATCH 13/14] kmemleak: Simple testing module for kmemleak Catalin Marinas
2008-12-19 18:14 ` [PATCH 14/14] kmemleak: Add the corresponding MAINTAINERS entry Catalin Marinas
2008-12-30 0:23 ` [PATCH 00/14] Kernel memory leak detector Andrew Morton
2008-12-30 11:43 ` Catalin Marinas [this message]
2009-01-08 22:45 ` Andrew Morton
2009-01-12 9:51 ` Catalin Marinas
2009-01-12 10:21 ` Andrew Morton
2009-01-12 10:33 ` Stephen Rothwell
2009-01-12 11:13 ` Catalin Marinas
2009-01-14 12:30 ` Catalin Marinas
2009-01-14 14:01 ` Stephen Rothwell
2009-01-14 14:50 ` Catalin Marinas
2009-01-15 22:09 ` Mike Snitzer
2009-01-16 9:22 ` Catalin Marinas
2009-04-24 16:40 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=1230637430.3909.38.camel@pc1117.cambridge.arm.com \
--to=catalin.marinas@arm.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
/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
Powered by JetHome