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?
Thanks
Reiner
Reiner Sailer wrote:
We are looking into this.
Thanks!
Reiner
--forwarded by Reiner Sailer:
On Sun, Apr 08, 2007 at 02:35:59PM -0700, Andrew Morton wrote:
>
>
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc6/2.6.21-rc6-mm1/
>
I'm seeing this while booting:
ima (ima_init): No TPM chip found(rc = -19), activating TPM-bypass!
=========================
[ 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
=======================
I saw this in -rc5-mm4 also.
I couldn't find a contact address in MAINTAINERS, so I've CC'd the
two authors listed on top of ima_create_htable.c , as well as the
first submitter of the IMA stuff I found in my LKML archive.
As an aside, this computer does have (some sort of) TPM chip, but
the driver is built as a module, and not loaded at this point (not a
worry for me, I don't intend to use it).
--
Joseph Fannin
[email protected] || [email protected]
---
security/evm/ima/ima_queue.c | 2 --
1 file changed, 2 deletions(-)
Index: linux-2.6.21-rc6/security/evm/ima/ima_queue.c
===================================================================
--- linux-2.6.21-rc6.orig/security/evm/ima/ima_queue.c
+++ linux-2.6.21-rc6/security/evm/ima/ima_queue.c
@@ -38,7 +38,6 @@ void ima_create_htable(void)
{
int i;
- spin_lock(&ima_queue_lock);
INIT_LIST_HEAD(&ima_measurements);
atomic_set(&ima_htable.len, 0);
atomic_set(&ima_htable.violations, 0);
@@ -50,7 +49,6 @@ void ima_create_htable(void)
}
mutex_init(&ima_extend_list_mutex);
- spin_unlock(&ima_queue_lock);
}
struct ima_queue_entry *ima_lookup_digest_entry(u8 * digest_value)
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]