Messages in this thread | | | Date | Sat, 29 Nov 2008 13:48:25 +0200 | From | "Pekka Enberg" <> | Subject | Re: [PATCH 11/15] kmemleak: Remove some of the kmemleak false positives |
| |
Hi Catalin,
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. > > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> > Cc: Ingo Molnar <mingo@elte.hu> > --- > drivers/char/vt.c | 7 +++++++ > include/linux/percpu.h | 5 +++++ > 2 files changed, 12 insertions(+), 0 deletions(-) > > diff --git a/drivers/char/vt.c b/drivers/char/vt.c > index a5af607..bb024f8 100644 > --- a/drivers/char/vt.c > +++ b/drivers/char/vt.c > @@ -104,6 +104,7 @@ > #include <linux/io.h> > #include <asm/system.h> > #include <linux/uaccess.h> > +#include <linux/memleak.h> > > #define MAX_NR_CON_DRIVER 16 > > @@ -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.
> INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK); > visual_init(vc, currcons, 1); > vc->vc_screenbuf = (unsigned short *)alloc_bootmem(vc->vc_screenbuf_size);
| |