On Thu, Aug 21, 2008 at 9:04 AM, jay kumar <jaykumarks@xxxxxxxxx> 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@xxxxxxxxxxxxxxxx> > 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@xxxxxxxxxx> 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
Attachment:
fix-execve.patch
Description: Binary data