Messages in this thread | | | Subject | Re: [PATCH 11/15] kmemleak: Remove some of the kmemleak false positives | From | Catalin Marinas <> | Date | Sun, 30 Nov 2008 19:02:36 +0000 |
| |
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@arm.com> 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
| |