lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ