Messages in this thread | | | Subject | Re: [2.6.32-rc3 kmemleak] WARNING: at kernel/lockdep.c:3161check_flags+0xbe/0x180() | From | Tetsuo Handa <> | Date | Thu, 8 Oct 2009 21:34:25 +0900 |
| |
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.
| |