Re: WARNING: at kernel/lockdep.c:690 __lock_acquire+0x168/0x164b()

From: Sergey Senozhatsky
Date: Thu Oct 20 2011 - 14:56:00 EST


On (10/20/11 20:39), Borislav Petkov wrote:
> On Sat, Oct 15, 2011 at 03:32:32PM -0700, David Rientjes wrote:
> > Could you try to revert f59de8992aa6 ("lockdep: Clear whole lockdep_map on
> > initialization") with this patch and see if it helps? Thanks.
> > ---
> > diff --git a/kernel/lockdep.c b/kernel/lockdep.c
> > --- a/kernel/lockdep.c
> > +++ b/kernel/lockdep.c
> > @@ -2874,7 +2874,10 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this,
> > void lockdep_init_map(struct lockdep_map *lock, const char *name,
> > struct lock_class_key *key, int subclass)
> > {
> > - memset(lock, 0, sizeof(*lock));
> > + int i;
> > +
> > + for (i = 0; i < NR_LOCKDEP_CACHING_CLASSES; i++)
> > + lock->class_cache[i] = NULL;
> >
> > #ifdef CONFIG_LOCK_STAT
> > lock->cpu = raw_smp_processor_id();
>
> FWIW,
>
> the box has been running here with f59de8992aa6 reverted for a couple of
> days now and no sign of the warning. I'll keep watching it but it looks
> ok so far, so David, you could've nailed it.
>

Hello,
Well, the same with me. My laptop has been running with reverted f59de8992aa6 without any
problems so far. Yet, I'm not sure I understand how memset() and loop could
produce different results.

commit in question (f59de8992aa6dc85e81aadc26b0f69e17809721d) has been merge on
Jul 14 15:19:09 2011 +0200, so, Borislav, you probably should have seen it
not only on 3.1-rc5, 3.1-rc6,..., but even on 3.0.


Sergey
--
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/