[BUG?] possible recursive locking detected (blkdev_open)

From: Rolf Eike Beer
Date: Wed Aug 09 2006 - 01:52:14 EST


=============================================
[ INFO: possible recursive locking detected ]
---------------------------------------------
parted/7929 is trying to acquire lock:
(&bdev->bd_mutex){--..}, at: [<c105eb8d>] __blkdev_put+0x1e/0x13c

but task is already holding lock:
(&bdev->bd_mutex){--..}, at: [<c105eec6>] do_open+0x72/0x3a8

other info that might help us debug this:
1 lock held by parted/7929:
#0: (&bdev->bd_mutex){--..}, at: [<c105eec6>] do_open+0x72/0x3a8
stack backtrace:
[<c1003aad>] show_trace_log_lvl+0x58/0x15b
[<c100495f>] show_trace+0xd/0x10
[<c1004979>] dump_stack+0x17/0x1a
[<c102dee5>] __lock_acquire+0x753/0x99c
[<c102e3b0>] lock_acquire+0x4a/0x6a
[<c1204501>] mutex_lock_nested+0xc8/0x20c
[<c105eb8d>] __blkdev_put+0x1e/0x13c
[<c105ecc4>] blkdev_put+0xa/0xc
[<c105f18a>] do_open+0x336/0x3a8
[<c105f21b>] blkdev_open+0x1f/0x4c
[<c1057b40>] __dentry_open+0xc7/0x1aa
[<c1057c91>] nameidata_to_filp+0x1c/0x2e
[<c1057cd1>] do_filp_open+0x2e/0x35
[<c1057dd7>] do_sys_open+0x38/0x68
[<c1057e33>] sys_open+0x16/0x18
[<c1002845>] sysenter_past_esp+0x56/0x8d
DWARF2 unwinder stuck at sysenter_past_esp+0x56/0x8d
Leftover inexact backtrace:
[<c100495f>] show_trace+0xd/0x10
[<c1004979>] dump_stack+0x17/0x1a
[<c102dee5>] __lock_acquire+0x753/0x99c
[<c102e3b0>] lock_acquire+0x4a/0x6a
[<c1204501>] mutex_lock_nested+0xc8/0x20c
[<c105eb8d>] __blkdev_put+0x1e/0x13c
[<c105ecc4>] blkdev_put+0xa/0xc
[<c105f18a>] do_open+0x336/0x3a8
[<c105f21b>] blkdev_open+0x1f/0x4c
[<c1057b40>] __dentry_open+0xc7/0x1aa
[<c1057c91>] nameidata_to_filp+0x1c/0x2e
[<c1057cd1>] do_filp_open+0x2e/0x35
[<c1057dd7>] do_sys_open+0x38/0x68
[<c1057e33>] sys_open+0x16/0x18
[<c1002845>] sysenter_past_esp+0x56/0x8d

Attachment: pgp00000.pgp
Description: PGP signature