[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20070411125217.17734a5b.akpm@linux-foundation.org>
Date: Wed, 11 Apr 2007 12:52:17 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Joseph Fannin <jhf@...umbus.rr.com>
Cc: Reiner Sailer <sailer@...ibm.com>, linux-kernel@...r.kernel.org,
sailer@...son.ibm.com, serue@...ux.vnet.ibm.com,
zohar@...ux.vnet.ibm.com, Ingo Molnar <mingo@...e.hu>
Subject: Re: 2.6.21-rc6-mm1 ima "BUG: held lock freed!"
On Wed, 11 Apr 2007 09:55:18 -0400
Joseph Fannin <jhf@...umbus.rr.com> wrote:
> On Tue, 2007-04-10 at 15:00 -0400, Reiner Sailer wrote:
> > Joseph,
> >
> > we cannot reproduce the BUG you report. We have identified a potential
> > source (spinlock around mutex_init). I have attached a small patch that
> > removes this lock from the initialization of the hash table. I have
> > tested the patch but I cannot verify if this resolves the problem you
> > are seeing.
> >
> > If you can reproduce the problem, would you mind to apply this patch and
> > let us know if this solves the problem?
>
> The BUG message no longer appears with this patch applied. It was 100%
> reproducible before, so I think this fixed it.
ok, the spinlock in there was unneeded anwyay.
But I think this is a lockdep shortcoming - there's nothing wrong with
doing mutex_init() inside spin_lock().
debug_mutex_init() is trying to work out whether we're initialising
an already held mutex. This has nothing to do with the spinlock
which we're holding. Perhaps debug_check_no_locks_freed() simply
went wrong.
For Ingo - this:
=========================
[ BUG: held lock freed! ]
-------------------------
swapper/1 is freeing memory c04c7660-c04c76a3, with a lock still held there!
(ima_queue_lock){--..}, at: [<c0202710>] ima_create_htable+0x10/0x90
1 lock held by swapper/1:
#0: (ima_queue_lock){--..}, at: [<c0202710>] ima_create_htable+0x10/0x90
stack backtrace:
[<c0105959>] dump_trace+0x1d9/0x210
[<c01059aa>] show_trace_log_lvl+0x1a/0x30
[<c0106612>] show_trace+0x12/0x20
[<c01066d6>] dump_stack+0x16/0x20
[<c014fd3a>] debug_check_no_locks_freed+0x17a/0x180
[<c014cdbf>] debug_mutex_init+0x1f/0x50
[<c0145451>] __mutex_init+0x41/0x50
[<c020277d>] ima_create_htable+0x7d/0x90
[<c020286f>] ima_init+0x3f/0x270
[<c051b765>] init_evm+0x1f5/0x250
[<c05015d2>] kernel_init+0x132/0x320
[<c010532f>] kernel_thread_helper+0x7/0x18
=======================
is coming out of -mm's security/evm/ima/ima_queue.c:ima_create_htable().
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists