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] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 21 Aug 2008 10:10:30 +0200
From:	"Vegard Nossum" <vegard.nossum@...il.com>
To:	"jay kumar" <jaykumarks@...il.com>
Cc:	"David Howells" <dhowells@...hat.com>,
	linux-kernel@...r.kernel.org, linux-next@...r.kernel.org
Subject: Re: Bug: "bad unlock balance detected" 2.6.27-rc3-next-20080820

On Thu, Aug 21, 2008 at 9:04 AM, jay kumar <jaykumarks@...il.com> wrote:
> While testing 2.6.27-rc3-next-20080820 ,  i observed this    "BUG:bad
> unlock balance detected" during boot time
>
> commit 765d4840cc9cca98c0cc4ff4764608780c3265f6
> Author: Stephen Rothwell <sfr@...b.auug.org.au>
> Date:   Wed Aug 20 18:59:47 2008 +1000
>
>
> Bug info:
>
> [    0.140173] =====================================
> [    0.145977] [ BUG: bad unlock balance detected! ]
> [    0.145977] -------------------------------------
> [    0.145977] khelper/12 is trying to release lock (&p->cred_exec_mutex) at:
> [    0.146977] [<c05c624f>] mutex_unlock+0xd/0xf
> [    0.146977] but there are no more locks to release!
> [    0.146977]
> [    0.146977] other info that might help us debug this:
> [    0.146977] no locks held by khelper/12.
> [    0.146977]
> [    0.146977] stack backtrace:
> [    0.146977] Pid: 12, comm: khelper Not tainted 2.6.27-rc3-next-20080820 #13
> [    0.146977]  [<c05c624f>] ? mutex_unlock+0xd/0xf
> [    0.146977]  [<c0242944>] print_unlock_inbalance_bug+0xa5/0xb2
> [    0.146977]  [<c05c624f>] ? mutex_unlock+0xd/0xf
> [    0.146977]  [<c0245cd7>] lock_release+0x8f/0x186
> [    0.146977]  [<c05c61f0>] __mutex_unlock_slowpath+0x9b/0xed
> [    0.146977]  [<c05c624f>] mutex_unlock+0xd/0xf
> [    0.146977]  [<c029506f>] free_bprm+0x24/0x39
> [    0.146977]  [<c029644e>] do_execve+0x1e5/0x1fb
> [    0.146977]  [<c0202156>] sys_execve+0x2e/0x51
> [    0.146977]  [<c0203a72>] syscall_call+0x7/0xb
> [    0.146977]  [<c0206654>] ? kernel_execve+0x1c/0x21
> [    0.146977]  [<c023383c>] ? ____call_usermodehelper+0x0/0x129
> [    0.146977]  [<c023395b>] ? ____call_usermodehelper+0x11f/0x129
> [    0.146977]  [<c023383c>] ? ____call_usermodehelper+0x0/0x129
> [    0.146977]  [<c020466b>] ? kernel_thread_helper+0x7/0x10
> [    0.146977]  =======================

(config clipped)

Hi,

Thanks for the report. The error comes from

commit d9a939fb80ef390b78b3c801f668bd1e35ebc970
Author: David Howells <dhowells@...hat.com>
Date:   Thu Aug 7 20:02:20 2008 +1000

    CRED: Make execve() take advantage of copy-on-write credentials

(Added to Cc. I guess it's also nice to Cc linux-next on errors in -next code.)

I couldn't reproduce your original failure, but I've attempted to fix
it by reordering the mutex unlock and bprm free and removing the
extraneous unlock (see attached patch; it boots for me without
errors).


Vegard

-- 
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
	-- E. W. Dijkstra, EWD1036

Download attachment "fix-execve.patch" of type "application/octet-stream" (1505 bytes)

Powered by blists - more mailing lists