syzbot


INFO: task hung in n_tty_receive_buf_common

Status: public: reported C repro on 2019/04/13 00:00
Reported-by: syzbot+16cab257cfd49b945709@syzkaller.appspotmail.com
First crash: 2399d, last: 2326d

Sample crash report:
INFO: task kworker/u4:3:1699 blocked for more than 120 seconds.
      Not tainted 4.9.109-g7cecc75 #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kworker/u4:3    D28424  1699      2 0x00000000
Workqueue: events_unbound flush_to_ldisc
 ffff8801cf579800 0000000000000000 ffff8801cd622f40 ffffffff84629800
 ffff8801db221c18 ffff8801cf7a7908 ffffffff839e8a3d ffff8801cf57a0c8
 ffffed0039eaf418 ffff8801cf579800 00fffc0000000000 ffff8801db2224e8
Call Trace:
 [<ffffffff839ea03f>] schedule+0x7f/0x1b0 kernel/sched/core.c:3557
 [<ffffffff839ea9c3>] schedule_preempt_disabled+0x13/0x20 kernel/sched/core.c:3590
 [<ffffffff839eee46>] __mutex_lock_common kernel/locking/mutex.c:582 [inline]
 [<ffffffff839eee46>] mutex_lock_nested+0x326/0x870 kernel/locking/mutex.c:621
 [<ffffffff8212558d>] flush_echoes drivers/tty/n_tty.c:799 [inline]
 [<ffffffff8212558d>] __receive_buf drivers/tty/n_tty.c:1617 [inline]
 [<ffffffff8212558d>] n_tty_receive_buf_common+0xcfd/0x2300 drivers/tty/n_tty.c:1711
 [<ffffffff82126bc3>] n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1746
 [<ffffffff8212c6bf>] tty_ldisc_receive_buf+0xaf/0x190 drivers/tty/tty_buffer.c:455
 [<ffffffff8212d6c3>] receive_buf drivers/tty/tty_buffer.c:474 [inline]
 [<ffffffff8212d6c3>] flush_to_ldisc+0x253/0x370 drivers/tty/tty_buffer.c:533
 [<ffffffff8118d121>] process_one_work+0x7e1/0x1500 kernel/workqueue.c:2092
 [<ffffffff8118df16>] worker_thread+0xd6/0x10a0 kernel/workqueue.c:2226
 [<ffffffff8119d04d>] kthread+0x26d/0x300 kernel/kthread.c:211
 [<ffffffff839f9adc>] ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:373

Showing all locks held in the system:
2 locks held by khungtaskd/519:
 #0:  (rcu_read_lock){......}, at: [<ffffffff8136662c>] check_hung_uninterruptible_tasks kernel/hung_task.c:168 [inline]
 #0:  (rcu_read_lock){......}, at: [<ffffffff8136662c>] watchdog+0x11c/0xa20 kernel/hung_task.c:239
 #1:  (tasklist_lock){.+.+..}, at: [<ffffffff81425cb7>] debug_show_all_locks+0x79/0x218 kernel/locking/lockdep.c:4336
6 locks held by kworker/u4:3/1699:
 #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8118d02e>] work_static include/linux/workqueue.h:186 [inline]
 #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8118d02e>] set_work_data kernel/workqueue.c:617 [inline]
 #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8118d02e>] set_work_pool_and_clear_pending kernel/workqueue.c:644 [inline]
 #0:  ("events_unbound"){.+.+.+}, at: [<ffffffff8118d02e>] process_one_work+0x6ee/0x1500 kernel/workqueue.c:2085
 #1:  ((&buf->work)){+.+...}, at: [<ffffffff8118d068>] process_one_work+0x728/0x1500 kernel/workqueue.c:2089
 #2:  (&tty->ldisc_sem){++++++}, at: [<ffffffff8212ae90>] tty_ldisc_ref+0x20/0x80 drivers/tty/tty_ldisc.c:296
 #3:  (&port->buf.lock/1){+.+...}, at: [<ffffffff8212d4f6>] flush_to_ldisc+0x86/0x370 drivers/tty/tty_buffer.c:505
 #4:  (&o_tty->termios_rwsem/1){++++..}, at: [<ffffffff8212491b>] n_tty_receive_buf_common+0x8b/0x2300 drivers/tty/n_tty.c:1674
 #5:  (&ldata->output_lock){+.+...}, at: [<ffffffff8212558d>] flush_echoes drivers/tty/n_tty.c:799 [inline]
 #5:  (&ldata->output_lock){+.+...}, at: [<ffffffff8212558d>] __receive_buf drivers/tty/n_tty.c:1617 [inline]
 #5:  (&ldata->output_lock){+.+...}, at: [<ffffffff8212558d>] n_tty_receive_buf_common+0xcfd/0x2300 drivers/tty/n_tty.c:1711
2 locks held by getty/3771:
 #0:  (&tty->ldisc_sem){++++++}, at: [<ffffffff839f7ae2>] ldsem_down_read+0x32/0x40 drivers/tty/tty_ldsem.c:367
 #1:  (&ldata->atomic_read_lock){+.+...}, at: [<ffffffff8211fce2>] n_tty_read+0x202/0x16e0 drivers/tty/n_tty.c:2133

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

NMI backtrace for cpu 0
CPU: 0 PID: 519 Comm: khungtaskd Not tainted 4.9.109-g7cecc75 #2
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
 ffff8801d8f7fd08 ffffffff81eb3e29 0000000000000000 0000000000000000
 0000000000000000 0000000000000001 ffffffff810b9580 ffff8801d8f7fd40
 ffffffff81ebf127 0000000000000000 0000000000000000 0000000000000002
Call Trace:
 [<ffffffff81eb3e29>] __dump_stack lib/dump_stack.c:15 [inline]
 [<ffffffff81eb3e29>] dump_stack+0xc1/0x128 lib/dump_stack.c:51
 [<ffffffff81ebf127>] nmi_cpu_backtrace.cold.2+0x48/0x87 lib/nmi_backtrace.c:99
 [<ffffffff81ebf0ba>] nmi_trigger_cpumask_backtrace+0x12a/0x14f lib/nmi_backtrace.c:60
 [<ffffffff810b9684>] arch_trigger_cpumask_backtrace+0x14/0x20 arch/x86/kernel/apic/hw_nmi.c:37
 [<ffffffff81366bc4>] trigger_all_cpu_backtrace include/linux/nmi.h:58 [inline]
 [<ffffffff81366bc4>] check_hung_task kernel/hung_task.c:125 [inline]
 [<ffffffff81366bc4>] check_hung_uninterruptible_tasks kernel/hung_task.c:182 [inline]
 [<ffffffff81366bc4>] watchdog+0x6b4/0xa20 kernel/hung_task.c:239
 [<ffffffff8119d04d>] kthread+0x26d/0x300 kernel/kthread.c:211
 [<ffffffff839f9adc>] ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:373
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 5426 Comm: syz-executor908 Not tainted 4.9.109-g7cecc75 #2
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff8801cd25b000 task.stack: ffff8801cd168000
RIP: 0010:[<ffffffff8211bbb1>] c [<ffffffff8211bbb1>] echo_buf drivers/tty/n_tty.c:146 [inline]
RIP: 0010:[<ffffffff8211bbb1>] c [<ffffffff8211bbb1>] __process_echoes+0x5f1/0x780 drivers/tty/n_tty.c:734
RSP: 0018:ffff8801cd16f980  EFLAGS: 00000202
RAX: 000000000000017a RBX: ffffc900018b1000 RCX: 0000000000000002
RDX: 0000000000000000 RSI: ffffffff8211bb8f RDI: ffffc900018b23da
RBP: ffff8801cd16f9e8 R08: ffff8801cd25b938 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 00000007a4ee117a
R13: 0000000000003b4b R14: dffffc0000000000 R15: 00000007a4ee117a
FS:  00007f4585fbe700(0000) GS:ffff8801db300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fca47846000 CR3: 00000001d8dc4000 CR4: 00000000001606f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Stack:
 ffff8801cd16f9c0c 0000000000000000c ffffc900018b3278c ffffed0039a55f55c
 ffff8801cd2afaacc ffffc900018b1020c 0000000000000900c ffff8801cd2af700c
 ffffc900018b3300c ffffc900018b1000c dffffc0000000000c ffffc900018b1020c
Call Trace:
 [<ffffffff821255c4>] flush_echoes drivers/tty/n_tty.c:801 [inline]
 [<ffffffff821255c4>] __receive_buf drivers/tty/n_tty.c:1617 [inline]
 [<ffffffff821255c4>] n_tty_receive_buf_common+0xd34/0x2300 drivers/tty/n_tty.c:1711
 [<ffffffff82126c00>] n_tty_receive_buf+0x30/0x40 drivers/tty/n_tty.c:1740
 [<ffffffff8211701f>] tiocsti drivers/tty/tty_io.c:2314 [inline]
 [<ffffffff8211701f>] tty_ioctl+0xc8f/0x2270 drivers/tty/tty_io.c:2905
 [<ffffffff815b2b9c>] vfs_ioctl fs/ioctl.c:43 [inline]
 [<ffffffff815b2b9c>] file_ioctl fs/ioctl.c:493 [inline]
 [<ffffffff815b2b9c>] do_vfs_ioctl+0x1ac/0x11a0 fs/ioctl.c:677
 [<ffffffff815b3c1f>] SYSC_ioctl fs/ioctl.c:694 [inline]
 [<ffffffff815b3c1f>] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685
 [<ffffffff81006316>] do_syscall_64+0x1a6/0x490 arch/x86/entry/common.c:282
 [<ffffffff839f9913>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb
Code: ced cfb cff cff ce8 cb1 c2d c24 cff c4c c89 ce0 c25 cff c0f c00 c00 c48 c8d cbc c03 c60 c12 c00 c00 c48 c89 cfa c48 c89 cf9 c48 cc1 cea c03 c83 ce1 c07 c42 c0f cb6 c14 c32 c<38> cca c7f c08 c84 cd2 c0f c85 cb0 c00 c00 c00 c80 cbc c03 c60 c12 c00 c00 cff c4d c

Crashes (25):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/06/24 23:04 https://android.googlesource.com/kernel/common android-4.9 7cecc756ceae 2064fc5c .config console log report syz C ci-android-49-kasan-gce-root
2018/06/19 04:46 https://android.googlesource.com/kernel/common android-4.9 e1815b3eba5b 45c54f75 .config console log report syz C ci-android-49-kasan-gce-root
2018/05/28 22:57 https://android.googlesource.com/kernel/common android-4.9 0cecdf831513 f48c20b8 .config console log report syz C ci-android-49-kasan-gce-root
2018/05/06 03:29 https://android.googlesource.com/kernel/common android-4.9 63a812bb84e4 78b251cb .config console log report syz C ci-android-49-kasan-gce-root
2018/05/04 14:31 https://android.googlesource.com/kernel/common android-4.9 0e25e2cab07a 9ce14f4b .config console log report syz C ci-android-49-kasan-gce-root
2018/07/09 18:46 https://android.googlesource.com/kernel/common android-4.9 03c70feafdb2 f25e5770 .config console log report ci-android-49-kasan-gce-root
2018/07/09 08:51 https://android.googlesource.com/kernel/common android-4.9 03c70feafdb2 f25e5770 .config console log report ci-android-49-kasan-gce-root
2018/07/07 13:12 https://android.googlesource.com/kernel/common android-4.9 03c70feafdb2 6c0c0099 .config console log report ci-android-49-kasan-gce-root
2018/07/07 10:03 https://android.googlesource.com/kernel/common android-4.9 03c70feafdb2 6c0c0099 .config console log report ci-android-49-kasan-gce-root
2018/07/06 18:32 https://android.googlesource.com/kernel/common android-4.9 03c70feafdb2 9636bc93 .config console log report ci-android-49-kasan-gce-root
2018/06/30 04:41 https://android.googlesource.com/kernel/common android-4.9 00a0bcbfcfb6 dba0b50e .config console log report ci-android-49-kasan-gce-root
2018/06/27 07:02 https://android.googlesource.com/kernel/common android-4.9 00a0bcbfcfb6 b0294c53 .config console log report ci-android-49-kasan-gce-root
2018/06/26 20:30 https://android.googlesource.com/kernel/common android-4.9 00a0bcbfcfb6 b0294c53 .config console log report ci-android-49-kasan-gce-root
2018/06/23 09:52 https://android.googlesource.com/kernel/common android-4.9 7cecc756ceae 2064fc5c .config console log report ci-android-49-kasan-gce-root
2018/06/13 00:50 https://android.googlesource.com/kernel/common android-4.9 db2c520bb56b 6dcbc435 .config console log report ci-android-49-kasan-gce-root
2018/05/27 06:39 https://android.googlesource.com/kernel/common android-4.9 0cecdf831513 f48c20b8 .config console log report ci-android-49-kasan-gce-root
2018/05/21 13:09 https://android.googlesource.com/kernel/common android-4.9 aef17a58e8ca f48c20b8 .config console log report ci-android-49-kasan-gce-root
2018/05/17 22:17 https://android.googlesource.com/kernel/common android-4.9 73fdfa38c59d 738d58ad .config console log report ci-android-49-kasan-gce-root
2018/05/17 21:14 https://android.googlesource.com/kernel/common android-4.9 73fdfa38c59d 738d58ad .config console log report ci-android-49-kasan-gce-root
2018/05/11 09:14 https://android.googlesource.com/kernel/common android-4.9 c462abbf779b 12c7428a .config console log report ci-android-49-kasan-gce-root
2018/05/08 03:32 https://android.googlesource.com/kernel/common android-4.9 a03d0bbacd41 9e0846e8 .config console log report ci-android-49-kasan-gce-root
2018/05/06 09:54 https://android.googlesource.com/kernel/common android-4.9 63a812bb84e4 78b251cb .config console log report ci-android-49-kasan-gce-root
2018/05/04 11:26 https://android.googlesource.com/kernel/common android-4.9 0e25e2cab07a 9ce14f4b .config console log report ci-android-49-kasan-gce-root
2018/04/29 15:36 https://android.googlesource.com/kernel/common android-4.9 71fce1edd26d d5a5d045 .config console log report ci-android-49-kasan-gce-root
2018/04/28 11:19 https://android.googlesource.com/kernel/common android-4.9 71fce1edd26d d5a5d045 .config console log report ci-android-49-kasan-gce-root
* Struck through repros no longer work on HEAD.