INFO: task hung in namespace_unlock

44 views
Skip to first unread message

syzbot

unread,
Jun 26, 2018, 11:09:02 AM6/26/18
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 6f0d349d922b Merge git://git.kernel.org/pub/scm/linux/kern..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17a20cb0400000
kernel config: https://syzkaller.appspot.com/x/.config?x=a63be0c83e84d370
dashboard link: https://syzkaller.appspot.com/bug?extid=9434bfe02e6a2cacee5a
compiler: gcc (GCC) 8.0.1 20180413 (experimental)
CC: [linux-...@vger.kernel.org linux-...@vger.kernel.org
vi...@zeniv.linux.org.uk]

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+9434bf...@syzkaller.appspotmail.com

INFO: task syz-executor7:4541 blocked for more than 120 seconds.
Not tainted 4.18.0-rc2+ #117
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor7 D18600 4541 4531 0x00000000
Call Trace:
context_switch kernel/sched/core.c:2862 [inline]
__schedule+0x87c/0x1ed0 kernel/sched/core.c:3504
schedule+0xfb/0x450 kernel/sched/core.c:3548
schedule_timeout+0x1cc/0x260 kernel/time/timer.c:1777
do_wait_for_common kernel/sched/completion.c:83 [inline]
__wait_for_common kernel/sched/completion.c:104 [inline]
wait_for_common kernel/sched/completion.c:115 [inline]
wait_for_completion+0x430/0x8d0 kernel/sched/completion.c:136
__wait_rcu_gp+0x257/0x350 kernel/rcu/update.c:366
synchronize_sched.part.63+0x104/0x120 kernel/rcu/tree.c:3097
synchronize_sched+0x76/0xf0 kernel/rcu/tree.c:3098
synchronize_rcu include/linux/rcupdate.h:94 [inline]
namespace_unlock+0x1bb/0x210 fs/namespace.c:1424
do_umount fs/namespace.c:1620 [inline]
ksys_umount+0x843/0x12e0 fs/namespace.c:1715
__do_sys_umount fs/namespace.c:1726 [inline]
__se_sys_umount fs/namespace.c:1724 [inline]
__x64_sys_umount+0x54/0x80 fs/namespace.c:1724
do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4584a7
Code: 15 8e 3e d0 01 4b 8d 3c ca 85 d2 75 09 4b 89 34 ca e9 2e ff ff ff 48
89 3c 24 48 89 74 24 08 e8 ff 94 fb ff 48 8b 44 24 58 48 <8b> 4c 24 40 48
8d 1d 0e 3e ce 01 e9 0a ff ff ff 48 8d 05 62 7e 37
RSP: 002b:00007fff4d3baf78 EFLAGS: 00000246 ORIG_RAX: 00000000000000a6
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00000000004584a7
RDX: 00000000013409f3 RSI: 0000000000000002 RDI: 00007fff4d3bc0e0
RBP: 00007fff4d3bc0e0 R08: 0000000000000000 R09: 000000000000000b
R10: 0000000000000005 R11: 0000000000000246 R12: 0000000001340940
R13: 0000000000000000 R14: 00007fff4d3bd7c0 R15: 0000000000701140
INFO: task syz-executor4:3667 blocked for more than 120 seconds.
Not tainted 4.18.0-rc2+ #117
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
syz-executor4 D22200 3667 4542 0x80000002
Call Trace:
context_switch kernel/sched/core.c:2862 [inline]
__schedule+0x87c/0x1ed0 kernel/sched/core.c:3504
schedule+0xfb/0x450 kernel/sched/core.c:3548
__rwsem_down_write_failed_common+0x95d/0x1630
kernel/locking/rwsem-xadd.c:566
rwsem_down_write_failed+0xe/0x10 kernel/locking/rwsem-xadd.c:595
call_rwsem_down_write_failed+0x17/0x30 arch/x86/lib/rwsem.S:117
__down_write arch/x86/include/asm/rwsem.h:142 [inline]
down_write+0xaa/0x130 kernel/locking/rwsem.c:72
n_tty_flush_buffer+0x21/0x320 drivers/tty/n_tty.c:357
tty_ldisc_hangup+0x89/0x640 drivers/tty/tty_ldisc.c:711
__tty_hangup.part.21+0x2da/0x6e0 drivers/tty/tty_io.c:621
__tty_hangup drivers/tty/tty_io.c:571 [inline]
tty_vhangup+0x21/0x30 drivers/tty/tty_io.c:694
pty_close+0x3bd/0x510 drivers/tty/pty.c:78
tty_release+0x4b3/0x1300 drivers/tty/tty_io.c:1665
INFO: rcu_sched detected stalls on CPUs/tasks:
0-....: (1 GPs behind) idle=4c6/1/4611686018427387904
softirq=199391/199393 fqs=31054
(detected by 1, t=125002 jiffies, g=108584, c=108583, q=646)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 94 Comm: kworker/u4:3 Not tainted 4.18.0-rc2+ #117
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Workqueue: events_unbound flush_to_ldisc
RIP: 0010:check_kcov_mode kernel/kcov.c:67 [inline]
RIP: 0010:write_comp_data+0x1b/0x70 kernel/kcov.c:122
Code: 00 e9 76 fc ff ff e8 74 27 cb ff 90 90 90 90 55 65 4c 8b 04 25 40 ee
01 00 65 8b 05 bf e1 85 7e 48 89 e5 a9 00 01 1f 00 75 51 <41> 8b 80 90 12
00 00 83 f8 03 75 45 49 8b 80 98 12 00 00 45 8b 80
RSP: 0018:ffff8801d9037228 EFLAGS: 00000246
RAX: 0000000000000000 RBX: 000000023516a9b1 RCX: ffffffff83a45e6c
RDX: 00000000000000d1 RSI: 00000000000000ff RDI: 0000000000000001
RBP: ffff8801d9037228 R08: ffff8801d9008780 R09: 0000000000000006
R10: ffff8801d9008780 R11: 0000000000000000 R12: ffffc90001d9d000
R13: 0000000000000700 R14: 000000023516a9b2 R15: 00000000000000d1
FS: 0000000000000000(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f530e2d1000 CR3: 0000000008e6a000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__sanitizer_cov_trace_const_cmp1+0x1a/0x20 kernel/kcov.c:174
__process_echoes+0x2dc/0x8d0 drivers/tty/n_tty.c:732
commit_echoes+0x163/0x1d0 drivers/tty/n_tty.c:764
n_tty_receive_char_fast drivers/tty/n_tty.c:1416 [inline]
n_tty_receive_buf_fast drivers/tty/n_tty.c:1576 [inline]
__receive_buf drivers/tty/n_tty.c:1611 [inline]
n_tty_receive_buf_common+0x205b/0x2c60 drivers/tty/n_tty.c:1709
n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1744
tty_ldisc_receive_buf+0xb0/0x190 drivers/tty/tty_buffer.c:456
tty_port_default_receive_buf+0x115/0x180 drivers/tty/tty_port.c:38
receive_buf drivers/tty/tty_buffer.c:475 [inline]
flush_to_ldisc+0x3fd/0x570 drivers/tty/tty_buffer.c:524
process_one_work+0xc73/0x1ba0 kernel/workqueue.c:2153
worker_thread+0x189/0x13c0 kernel/workqueue.c:2296
kthread+0x345/0x410 kernel/kthread.c:240
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
__fput+0x35b/0x8b0 fs/file_table.c:209
____fput+0x15/0x20 fs/file_table.c:243
task_work_run+0x1ec/0x2a0 kernel/task_work.c:113
exit_task_work include/linux/task_work.h:22 [inline]
do_exit+0x1b08/0x2750 kernel/exit.c:865
do_group_exit+0x177/0x440 kernel/exit.c:968
get_signal+0x88e/0x1970 kernel/signal.c:2468
do_signal+0x9c/0x21c0 arch/x86/kernel/signal.c:816
exit_to_usermode_loop+0x2e0/0x370 arch/x86/entry/common.c:162
prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline]
syscall_return_slowpath arch/x86/entry/common.c:268 [inline]
do_syscall_64+0x6be/0x820 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x455a99
Code: 37 48 00 48 89 04 24 48 c7 44 24 08 1d 00 00 00 e8 8c 71 fd ff e8 37
6a fd ff 0f b6 44 24 2f 83 e0 1f 48 89 04 24 e8 b6 6f fd <ff> e8 81 6a fd
ff e8 5c 68 fd ff 48 8d 05 cc 36 48 00 48 89 04 24
RSP: 002b:00007fbc6e526c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: 0000000000002e00 RBX: 00007fbc6e5276d4 RCX: 0000000000455a99
RDX: 00000000ffffff0b RSI: 0000000020c34fff RDI: 0000000000000015
RBP: 000000000072bf48 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 00000000004c0021 R14: 00000000004d3a40 R15: 0000000000000001

Showing all locks held in the system:
6 locks held by kworker/u4:3/94:
1 lock held by khungtaskd/900:
#0: 00000000dfe74575 (rcu_read_lock){....}, at:
debug_show_all_locks+0xd0/0x428 kernel/locking/lockdep.c:4461
1 lock held by rsyslogd/4400:
2 locks held by getty/4491:
#0: 00000000262297ac (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 000000009baa860f (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
2 locks held by getty/4492:
#0: 0000000085780171 (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 00000000b6e98dc9 (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
2 locks held by getty/4493:
#0: 00000000f8466162 (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 000000003861a28d (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
2 locks held by getty/4494:
#0: 000000000f94148a (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 000000008c2b6db8 (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
2 locks held by getty/4495:
#0: 00000000f612c036 (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 00000000853d9869 (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
2 locks held by getty/4496:
#0: 00000000879e550f (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 0000000016d30fff (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
2 locks held by getty/4497:
#0: 00000000872205a4 (&tty->ldisc_sem){++++}, at:
ldsem_down_read+0x37/0x40 drivers/tty/tty_ldsem.c:365
#1: 00000000e9566594 (&ldata->atomic_read_lock){+.+.}, at:
n_tty_read+0x335/0x1ce0 drivers/tty/n_tty.c:2131
4 locks held by syz-executor4/3667:
#0: 00000000d57be338 (&tty->legacy_mutex){+.+.}, at: tty_lock+0x70/0xa0
drivers/tty/tty_mutex.c:19
#1: 00000000afaf6080 (&tty->legacy_mutex/1){+.+.}, at: tty_lock+0x70/0xa0
drivers/tty/tty_mutex.c:19
#2: 000000004ccd9cbc (&tty->ldisc_sem){++++}, at: tty_ldisc_ref+0x22/0x90
drivers/tty/tty_ldisc.c:284
#3: 00000000b654a1d8 (&o_tty->termios_rwsem/1){++++}, at:
n_tty_flush_buffer+0x21/0x320 drivers/tty/n_tty.c:357

=============================================

NMI backtrace for cpu 1
CPU: 1 PID: 900 Comm: khungtaskd Not tainted 4.18.0-rc2+ #117
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
nmi_cpu_backtrace.cold.4+0x19/0xce lib/nmi_backtrace.c:103
nmi_trigger_cpumask_backtrace+0x151/0x192 lib/nmi_backtrace.c:62
arch_trigger_cpumask_backtrace+0x14/0x20 arch/x86/kernel/apic/hw_nmi.c:38
trigger_all_cpu_backtrace include/linux/nmi.h:138 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:196 [inline]
watchdog+0x9c4/0xf80 kernel/hung_task.c:252
kthread+0x345/0x410 kernel/kthread.c:240
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 94 Comm: kworker/u4:3 Not tainted 4.18.0-rc2+ #117
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Workqueue: events_unbound flush_to_ldisc
RIP: 0010:write_comp_data+0x0/0x70
Code: fd ff ff 48 8b bd d0 fe ff ff e8 eb d4 3d 00 e9 ad fc ff ff 4c 89 ef
e8 3e d4 3d 00 e9 76 fc ff ff e8 74 27 cb ff 90 90 90 90 <55> 65 4c 8b 04
25 40 ee 01 00 65 8b 05 bf e1 85 7e 48 89 e5 a9 00
RSP: 0018:ffff8801d9037230 EFLAGS: 00000297
RAX: ffff8801d9008780 RBX: 0000000238f89642 RCX: ffffffff83a45e07
RDX: fffffffdc70770be RSI: 0000000000000edf RDI: 0000000000000007
RBP: ffff8801d9037238 R08: ffff8801d9008780 R09: 0000000000000006
R10: ffff8801d9008780 R11: 0000000000000000 R12: ffffc90001d9d000
R13: 0000000000000700 R14: fffffffdc70770be R15: 00000000000000ff
FS: 0000000000000000(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f530e2d1000 CR3: 0000000008e6a000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__process_echoes+0x277/0x8d0 drivers/tty/n_tty.c:731
commit_echoes+0x163/0x1d0 drivers/tty/n_tty.c:764
n_tty_receive_char_fast drivers/tty/n_tty.c:1416 [inline]
n_tty_receive_buf_fast drivers/tty/n_tty.c:1576 [inline]
__receive_buf drivers/tty/n_tty.c:1611 [inline]
n_tty_receive_buf_common+0x205b/0x2c60 drivers/tty/n_tty.c:1709
n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1744
tty_ldisc_receive_buf+0xb0/0x190 drivers/tty/tty_buffer.c:456
tty_port_default_receive_buf+0x115/0x180 drivers/tty/tty_port.c:38
receive_buf drivers/tty/tty_buffer.c:475 [inline]
flush_to_ldisc+0x3fd/0x570 drivers/tty/tty_buffer.c:524
process_one_work+0xc73/0x1ba0 kernel/workqueue.c:2153
worker_thread+0x189/0x13c0 kernel/workqueue.c:2296
kthread+0x345/0x410 kernel/kthread.c:240
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
syzbot.

syzbot

unread,
Jul 1, 2018, 7:50:20 PM7/1/18
to Tetsuo Handa, penguin...@i-love.sakura.ne.jp, syzkaller-upst...@googlegroups.com
> NMI backtrace says

> Call Trace:
> __process_echoes+0x277/0x8d0 drivers/tty/n_tty.c:731
> commit_echoes+0x163/0x1d0 drivers/tty/n_tty.c:764

> which means that this is a dup of "INFO: rcu detected stall in
> __process_echoes".

> #syz fix: n_tty: Access echo_* variables carefully.

Your 'fix:' command is accepted, but please keep
syzkaller-upst...@googlegroups.com mailing list in CC next
time. It serves as a history of what happened with each bug report. Thank
you.

Reply all
Reply to author
Forward
0 new messages