Re: [2.6.32-rc3 kmemleak] WARNING: at kernel/lockdep.c:3161check_flags+0xbe/0x180()

From: Tetsuo Handa
Date: Thu Oct 08 2009 - 08:35:55 EST


Hello.

Paul E. McKenney wrote:
> > --- linux-2.6.32-rc3.orig/mm/kmemleak.c
> > +++ linux-2.6.32-rc3/mm/kmemleak.c
> > @@ -833,7 +833,7 @@ static void early_alloc(struct early_log
> > */
> > rcu_read_lock();
> > object = create_object((unsigned long)log->ptr, log->size,
> > - log->min_count, GFP_KERNEL);
> > + log->min_count, GFP_ATOMIC);
>
> Won't we need to check for object==NULL?
>
> Thanx, Paul
>
> > spin_lock_irqsave(&object->lock, flags);
> > for (i = 0; i < log->trace_len; i++)
> > object->trace[i] = log->trace[i];
> >

Indeed. We need to check for NULL.

If the stack dump is correct, this error indicates circular function calls.
We need to find the location which triggers circular memory allocation.
Maybe just checking for NULL is not sufficient.
--
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/