Fixed
Created: Apr 28, 2015
Updated: Dec 3, 2018
Resolved Date: Oct 29, 2015
Found In Version: 6.0.0.16
Fix Version: 6.0.0.26
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Kernel
LOCKDEP INFO splat when having a high load on an SSH connected terminal.
Have not looked into details on this one, but the splat should not
happen regardless.
Br,
David
root@du1:/sys/kernel/debug/tracing# uname -a
Linux du1 3.10.55-ltsi-rt55-wrlp600.16_8.8.1.45_3 #4 SMP PREEMPT RT Tue
Apr 14 17:41:38 CEST 2015 armv7l GNU/Linux
[ 230.789277] =============================================
[ 230.789279] [ INFO: possible recursive locking detected ]
[ 230.789284] 3.10.55-ltsi-rt55-wrlp600.16_8.8.1.45_3 #4 Tainted:
G C
[ 230.789285] ---------------------------------------------
[ 230.789288] sshd/7647 is trying to acquire lock:
[ 230.789307] (&ldata->output_lock){+.+...}, at: [<c072373c>]
process_echoes+0x4c/0x2bc
[ 230.789309]
[ 230.789309] but task is already holding lock:
[ 230.789319] (&ldata->output_lock){+.+...}, at: [<c0724040>]
n_tty_write+0x364/0x4a4
[ 230.789321]
[ 230.789321] other info that might help us debug this:
[ 230.789322] Possible unsafe locking scenario:
[ 230.789322]
[ 230.789324] CPU0
[ 230.789325] ----
[ 230.789329] lock(&ldata->output_lock);
[ 230.789332] lock(&ldata->output_lock);
[ 230.789334]
[ 230.789334] *** DEADLOCK ***
[ 230.789334]
[ 230.789335] May be due to missing lock nesting notation
[ 230.789335]
[ 230.789338] 2 locks held by sshd/7647:
[ 230.789351] #0: (&tty->atomic_write_lock){+.+.+.}, at: [<c07209d0>]
tty_write_lock+0x24/0x64
[ 230.789361] #1: (&ldata->output_lock){+.+...}, at: [<c0724040>]
n_tty_write+0x364/0x4a4
[ 230.789362]
[ 230.789362] stack backtrace:
[ 230.789366] CPU: 0 PID: 7647 Comm: sshd Tainted: G C
3.10.55-ltsi-rt55-wrlp600.16_8.8.1.45_3 #4
[ 230.789379] [<c04179d0>] (unwind_backtrace+0x0/0xf8) from
[<c041382c>] (show_stack+0x20/0x24)
[ 230.789387] [<c041382c>] (show_stack+0x20/0x24) from [<c09664e8>]
(dump_stack+0x24/0x28)
[ 230.789398] [<c09664e8>] (dump_stack+0x24/0x28) from [<c0486e34>]
(validate_chain.isra.31+0xe64/0x12c4)
[ 230.789407] [<c0486e34>] (validate_chain.isra.31+0xe64/0x12c4) from
[<c0489aa4>] (__lock_acquire+0x400/0xc34)
[ 230.789415] [<c0489aa4>] (__lock_acquire+0x400/0xc34) from
[<c048a9ec>] (lock_acquire+0xac/0x248)
[ 230.789424] [<c048a9ec>] (lock_acquire+0xac/0x248) from [<c0969fec>]
(_mutex_lock+0x3c/0x4c)
[ 230.789431] [<c0969fec>] (_mutex_lock+0x3c/0x4c) from [<c072373c>]
(process_echoes+0x4c/0x2bc)
[ 230.789437] [<c072373c>] (process_echoes+0x4c/0x2bc) from
[<c0725444>] (n_tty_receive_buf+0x8f4/0x1074)
[ 230.789444] [<c0725444>] (n_tty_receive_buf+0x8f4/0x1074) from
[<c07296b0>] (flush_to_ldisc+0x120/0x164)
[ 230.789450] [<c07296b0>] (flush_to_ldisc+0x120/0x164) from
[<c0729740>] (tty_flip_buffer_push+0x4c/0x50)
[ 230.789458] [<c0729740>] (tty_flip_buffer_push+0x4c/0x50) from
[<c072adf0>] (pty_write+0x64/0x74)
[ 230.789463] [<c072adf0>] (pty_write+0x64/0x74) from [<c0724058>]
(n_tty_write+0x37c/0x4a4)
[ 230.789469] [<c0724058>] (n_tty_write+0x37c/0x4a4) from [<c0720b20>]
(tty_write+0x110/0x284)
[ 230.789481] [<c0720b20>] (tty_write+0x110/0x284) from [<c0540d0c>]
(vfs_write+0xc4/0x1a4)
[ 230.789489] [<c0540d0c>] (vfs_write+0xc4/0x1a4) from [<c05412b8>]
(SyS_write+0x4c/0x88)
[ 230.789498] [<c05412b8>] (SyS_write+0x4c/0x88) from [<c040ed00>]
(ret_fast_syscall+0x0/0x48)