[3.4.0-next-20120521] Lockdep warning at tty_lock().
From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date: 2012-05-21 10:37:24
I got this warning when booting CentOS 6.2.
I'm passing "console=ttyS0,119200n8 console=tty0" options.
[ 20.642250] pcnet32 0000:02:01.0: eth0: link up
[ 21.463747] ip (3310) used greatest stack depth: 5380 bytes left
[ 30.318717]
[ 30.319625] =============================================
[ 30.320990] [ INFO: possible recursive locking detected ]
[ 30.321945] 3.4.0-next-20120521 #23 Not tainted
[ 30.321945] ---------------------------------------------
[ 30.321945] plymouthd/1795 is trying to acquire lock:
[ 30.321945] (&tty->legacy_mutex){+.+.+.}, at: [<c13c83fa>] tty_lock+0x2a/0x70
[ 30.321945]
[ 30.321945] but task is already holding lock:
[ 30.321945] (&tty->legacy_mutex){+.+.+.}, at: [<c13c83fa>] tty_lock+0x2a/0x70
[ 30.321945]
[ 30.321945] other info that might help us debug this:
[ 30.321945] Possible unsafe locking scenario:
[ 30.321945]
[ 30.321945] CPU0
[ 30.321945] ----
[ 30.321945] lock(&tty->legacy_mutex);
[ 30.321945] lock(&tty->legacy_mutex);
[ 30.321945]
[ 30.321945] *** DEADLOCK ***
[ 30.321945]
[ 30.321945] May be due to missing lock nesting notation
[ 30.321945]
[ 30.321945] 2 locks held by plymouthd/1795:
[ 30.321945] #0: (tty_mutex){+.+.+.}, at: [<c121f35c>] tty_release+0x18c/0x540
[ 30.321945] #1: (&tty->legacy_mutex){+.+.+.}, at: [<c13c83fa>] tty_lock+0x2a/0x70
[ 30.321945]
[ 30.321945] stack backtrace:
[ 30.321945] Pid: 1795, comm: plymouthd Not tainted 3.4.0-next-20120521 #23
[ 30.321945] Call Trace:
[ 30.321945] [<c10761fc>] __lock_acquire+0xf2c/0x1390
[ 30.321945] [<c10766db>] lock_acquire+0x7b/0xa0
[ 30.321945] [<c13c83fa>] ? tty_lock+0x2a/0x70
[ 30.321945] [<c13c5386>] __mutex_lock_common+0x46/0x370
[ 30.321945] [<c13c83fa>] ? tty_lock+0x2a/0x70
[ 30.321945] [<c13c5598>] ? __mutex_lock_common+0x258/0x370
[ 30.321945] [<c13c5750>] mutex_lock_nested+0x20/0x30
[ 30.321945] [<c13c83fa>] ? tty_lock+0x2a/0x70
[ 30.321945] [<c13c83fa>] tty_lock+0x2a/0x70
[ 30.321945] [<c13c8482>] tty_lock_pair+0x42/0x48
[ 30.321945] [<c121f365>] tty_release+0x195/0x540
[ 30.321945] [<c107176b>] ? trace_hardirqs_off+0xb/0x10
[ 30.321945] [<c10d7580>] fput+0xb0/0x280
[ 30.321945] [<c121f034>] tty_ioctl+0x974/0xb10
[ 30.321945] [<c10d12ef>] ? cache_free_debugcheck+0x26f/0x330
[ 30.321945] [<c11d5d27>] ? __debug_check_no_obj_freed+0x117/0x180
[ 30.321945] [<c107176b>] ? trace_hardirqs_off+0xb/0x10
[ 30.321945] [<c121e6c0>] ? no_tty+0x20/0x20
[ 30.321945] [<c10e7317>] do_vfs_ioctl+0x77/0x5c0
[ 30.321945] [<c107509b>] ? trace_hardirqs_on+0xb/0x10
[ 30.321945] [<c10d82ce>] ? fget_light+0x32e/0x3f0
[ 30.321945] [<c10e7899>] sys_ioctl+0x39/0x70
[ 30.321945] [<c13c8cec>] sysenter_do_call+0x12/0x32
[ 33.570470] CPA self-test: