Re: [PATCH 2.6.17-rc4 1/6] Base support for kmemleak

Ingo Molnar
2006-05-26T08:59:04Z

* Andi Kleen <ak@suse.de> wrote:

> > From: Catalin Marinas <catalin.marinas@arm.com>
> >
> > This patch adds the base support for the kernel memory leak detector. It
> > traces the memory allocation/freeing in a way similar to the Boehm's
> > conservative garbage collector, the difference being that the orphan
> > pointers are not freed but only shown in /proc/memleak. Enabling this
> > feature would introduce an overhead to memory allocations.
>
> Interesting approach. Did you actually find any leaks with this?

we should be very careful here, since 'low hanging fruit' memory leaks
have already been clean-sweeped by a proprietary tool (Coverity), so the
utility of this free (GPL-ed) tool is artificially depressed!

What kmemleak will find are all the cases that Coverity does not check:
developer's own trees, uncommon architectures/drivers.

Also, kmemleak guarantees (assuming the implementation is correct) that
if a leak happens in practice, it will be detected immediately.
Coverity, being a static analyzer, wont find leaks that are obscured by
some sort of complex codepath.

All in one, i'm very much in favor of adding kmemleak to the upstream
kernel, once it gets clean enough and has seen some exposure on -mm.

Ingo