Re: [PATCH 11/15] kmemleak: Remove some of the kmemleak falsepositives

From: Catalin Marinas
Date: Sun Nov 30 2008 - 14:02:55 EST


Hi Pekka,

On Sat, 2008-11-29 at 13:48 +0200, Pekka Enberg wrote:
> On Sat, Nov 29, 2008 at 12:44 PM, Catalin Marinas
> <catalin.marinas@xxxxxxx> wrote:
> > There are allocations for which the main pointer cannot be found but
> > they are not memory leaks. This patch fixes some of them. For more
> > information on false positives, see Documentation/kmemleak.txt.
[...]
> > --- a/drivers/char/vt.c
> > +++ b/drivers/char/vt.c
[...]
> > @@ -2882,6 +2883,12 @@ static int __init con_init(void)
> > */
> > for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) {
> > vc_cons[currcons].d = vc = alloc_bootmem(sizeof(struct vc_data));
> > + /*
> > + * Kmemleak does not track the memory allocated via
> > + * alloc_bootmem() but this block contains pointers to
> > + * other blocks allocated via kmalloc.
> > + */
> > + memleak_alloc(vc, sizeof(struct vc_data), 1);
>
> Can we add some hooks to alloc_bootmem() to handle this? It's somewhat
> unfortunate that we need to annotate driver code.

I did a quick grep for the alloc_bootmem uses in the kernel and I don't
think these would increase the chance of getting false negatives. I'll
give it a try.

Thanks.

--
Catalin

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/