syzbot


INFO: task hung in flush_to_ldisc

Status: fixed on 2020/11/16 12:12
Reported-by: syzbot+e199b43b49192126ff69@syzkaller.appspotmail.com
Fix commit: e8c75a30a23c vt: selection, push sel_lock up
First crash: 1035d, last: 963d

Cause bisection: the issue happens on the oldest tested release (bisect log)
Crash: INFO: task hung in tty_ldisc_hangup (log)
Repro: C syz .config

Fix bisection: fixed by (bisect log) :
commit e8c75a30a23c6ba63f4ef6895cbf41fd42f21aa2
Author: Jiri Slaby <jslaby@suse.cz>
Date: Fri Feb 28 11:54:06 2020 +0000

  vt: selection, push sel_lock up

similar bugs (8):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 INFO: task hung in flush_to_ldisc (2) 1 812d 812d 0/1 auto-closed as invalid on 2020/11/11 17:44
upstream INFO: task hung in flush_to_ldisc (2) 1 542d 542d 0/24 auto-closed as invalid on 2021/06/09 11:04
linux-4.19 INFO: task hung in flush_to_ldisc 10 961d 1023d 0/1 auto-closed as invalid on 2020/06/15 14:09
linux-4.14 INFO: task hung in flush_to_ldisc (3) 1 574d 574d 0/1 auto-closed as invalid on 2021/07/07 16:40
upstream INFO: task hung in flush_to_ldisc (3) C inconclusive 3 243d 432d 0/24 closed as invalid on 2022/02/08 10:26
linux-4.14 INFO: task hung in flush_to_ldisc (2) 1 765d 765d 0/1 auto-closed as invalid on 2020/12/28 13:53
linux-4.19 INFO: task hung in flush_to_ldisc (3) 1 526d 526d 0/1 auto-closed as invalid on 2021/08/25 00:39
linux-4.14 INFO: task hung in flush_to_ldisc 8 953d 1024d 0/1 auto-closed as invalid on 2020/06/23 11:01

Sample crash report:
INFO: task kworker/u4:2:24 blocked for more than 143 seconds.
      Not tainted 5.5.0-rc1-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kworker/u4:2    D24104    24      2 0x80004000
Workqueue: events_unbound flush_to_ldisc
Call Trace:
 context_switch kernel/sched/core.c:3385 [inline]
 __schedule+0x934/0x1f90 kernel/sched/core.c:4081
 schedule+0xdc/0x2b0 kernel/sched/core.c:4155
 schedule_preempt_disabled+0x13/0x20 kernel/sched/core.c:4214
 __mutex_lock_common kernel/locking/mutex.c:1036 [inline]
 __mutex_lock+0x7ab/0x13c0 kernel/locking/mutex.c:1106
 mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:1121
 flush_to_ldisc+0x3d/0x390 drivers/tty/tty_buffer.c:505
 process_one_work+0x9af/0x1740 kernel/workqueue.c:2264
 worker_thread+0x98/0xe40 kernel/workqueue.c:2410
 kthread+0x361/0x430 kernel/kthread.c:255
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352
INFO: task login:9609 blocked for more than 143 seconds.
      Not tainted 5.5.0-rc1-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
login           D27648  9609      1 0x00000004
Call Trace:
 context_switch kernel/sched/core.c:3385 [inline]
 __schedule+0x934/0x1f90 kernel/sched/core.c:4081
 schedule+0xdc/0x2b0 kernel/sched/core.c:4155
 schedule_timeout+0x717/0xc50 kernel/time/timer.c:1871
 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+0x29c/0x440 kernel/sched/completion.c:136
 __flush_work+0x4fe/0xa50 kernel/workqueue.c:3041
 flush_work+0x18/0x20 kernel/workqueue.c:3062
 tty_buffer_flush_work+0x16/0x20 drivers/tty/tty_buffer.c:618
 n_tty_read+0xaea/0x1bf0 drivers/tty/n_tty.c:2199
 tty_read+0x1a0/0x2a0 drivers/tty/tty_io.c:869
 __vfs_read+0x8a/0x110 fs/read_write.c:425
 vfs_read+0x1f0/0x440 fs/read_write.c:461
 ksys_read+0x14f/0x290 fs/read_write.c:587
 __do_sys_read fs/read_write.c:597 [inline]
 __se_sys_read fs/read_write.c:595 [inline]
 __x64_sys_read+0x73/0xb0 fs/read_write.c:595
 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f6202982310
Code: Bad RIP value.
RSP: 002b:00007ffe08871a88 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f6202982310
RDX: 00000000000001ff RSI: 00007ffe08871cf0 RDI: 0000000000000000
RBP: 0000000000000000 R08: 00007f6203265700 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe08871cf0
R13: 0000000000000000 R14: 0000000000000001 R15: 000000000060b798

Showing all locks held in the system:
3 locks held by kworker/u4:2/24:
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: __write_once_size include/linux/compiler.h:226 [inline]
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline]
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: atomic64_set include/asm-generic/atomic-instrumented.h:855 [inline]
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: atomic_long_set include/asm-generic/atomic-long.h:40 [inline]
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: set_work_data kernel/workqueue.c:615 [inline]
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: set_work_pool_and_clear_pending kernel/workqueue.c:642 [inline]
 #0: ffff8880aa433928 ((wq_completion)events_unbound){+.+.}, at: process_one_work+0x88b/0x1740 kernel/workqueue.c:2235
 #1: ffffc90000e17dc0 ((work_completion)(&buf->work)){+.+.}, at: process_one_work+0x8c1/0x1740 kernel/workqueue.c:2239
 #2: ffff8880aa5bc0a8 (&buf->lock){+.+.}, at: flush_to_ldisc+0x3d/0x390 drivers/tty/tty_buffer.c:505
1 lock held by khungtaskd/1112:
 #0: ffffffff899a56c0 (rcu_read_lock){....}, at: debug_show_all_locks+0x5f/0x279 kernel/locking/lockdep.c:5334
1 lock held by rsyslogd/9079:
 #0: ffff8880962650e0 (&f->f_pos_lock){+.+.}, at: __fdget_pos+0xee/0x110 fs/file.c:801
2 locks held by getty/9170:
 #0: ffff8880a7af2090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc9000182b2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
2 locks held by getty/9171:
 #0: ffff88809ba38090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc9000184b2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
2 locks held by getty/9172:
 #0: ffff88808fc60090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc9000181b2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
2 locks held by getty/9173:
 #0: ffff8880928a3090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc9000183b2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
2 locks held by getty/9174:
 #0: ffff8880a30e4090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc900017eb2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
2 locks held by getty/9175:
 #0: ffff8880a79aa090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc9000178b2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
2 locks held by login/9609:
 #0: ffff8880a2673090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffffc9000185b2e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x220/0x1bf0 drivers/tty/n_tty.c:2156
3 locks held by syz-executor065/9634:
 #0: ffff8880a2673090 (&tty->ldisc_sem){++++}, at: ldsem_down_read+0x33/0x40 drivers/tty/tty_ldsem.c:340
 #1: ffff8880aa5bc0a8 (&buf->lock){+.+.}, at: tty_buffer_lock_exclusive+0x30/0x40 drivers/tty/tty_buffer.c:61
 #2: ffff8880ae837358 (&rq->lock){-.-.}, at: rq_lock kernel/sched/sched.h:1215 [inline]
 #2: ffff8880ae837358 (&rq->lock){-.-.}, at: __schedule+0x232/0x1f90 kernel/sched/core.c:4029

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

NMI backtrace for cpu 1
CPU: 1 PID: 1112 Comm: khungtaskd Not tainted 5.5.0-rc1-syzkaller #0
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+0x197/0x210 lib/dump_stack.c:118
 nmi_cpu_backtrace.cold+0x70/0xb2 lib/nmi_backtrace.c:101
 nmi_trigger_cpumask_backtrace+0x23b/0x28b 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:146 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:205 [inline]
 watchdog+0xb11/0x10c0 kernel/hung_task.c:289
 kthread+0x361/0x430 kernel/kthread.c:255
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 9634 Comm: syz-executor065 Not tainted 5.5.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__rcu_read_unlock+0x7c/0x710 kernel/rcu/tree_plugin.h:380
Code: fd ff ff 3f 41 8d 47 ff 81 f9 fd ff ff 3f 41 89 86 78 03 00 00 0f 86 ac 00 00 00 48 83 c4 18 5b 41 5c 41 5d 41 5e 41 5f 5d c3 <48> b8 00 00 00 00 00 fc ff df 4c 89 e6 48 c1 ee 03 0f b6 04 06 84
RSP: 0018:ffffc90001a976b0 EFLAGS: 00000046
RAX: 0000000000000000 RBX: ffff8880a77d04c0 RCX: 1ffff11014efa0f7
RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff8880ae8381e0
RBP: ffffc90001a976f0 R08: 1ffff11015d0703c R09: ffffed1015d0703d
R10: ffffed1015d0703c R11: ffff8880ae8381e3 R12: ffff8880a77d07b8
R13: ffffffff899c5cf0 R14: ffff8880a77d0440 R15: 0000000000000001
FS:  0000000001845880(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffff600400 CR3: 00000000a9307000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 rcu_read_unlock include/linux/rcupdate.h:670 [inline]
 cgroup_account_cputime include/linux/cgroup.h:779 [inline]
 update_curr+0x3e5/0x8d0 kernel/sched/fair.c:860
 pick_next_task_fair+0x221/0xc70 kernel/sched/fair.c:6680
 pick_next_task kernel/sched/core.c:3921 [inline]
 __schedule+0x375/0x1f90 kernel/sched/core.c:4051
 schedule+0xdc/0x2b0 kernel/sched/core.c:4155
 paste_selection+0x2f5/0x460 drivers/tty/vt/selection.c:367
 tioclinux+0x133/0x480 drivers/tty/vt/vt.c:3044
 vt_ioctl+0x1a41/0x26d0 drivers/tty/vt/vt_ioctl.c:364
 tty_ioctl+0xa37/0x14f0 drivers/tty/tty_io.c:2660
 vfs_ioctl fs/ioctl.c:47 [inline]
 file_ioctl fs/ioctl.c:545 [inline]
 do_vfs_ioctl+0x977/0x14e0 fs/ioctl.c:732
 ksys_ioctl+0xab/0xd0 fs/ioctl.c:749
 __do_sys_ioctl fs/ioctl.c:756 [inline]
 __se_sys_ioctl fs/ioctl.c:754 [inline]
 __x64_sys_ioctl+0x73/0xb0 fs/ioctl.c:754
 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x441209
Code: e8 3c ad 02 00 48 83 c4 18 c3 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 9b 09 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffe7c0d3a88 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000441209
RDX: 0000000020000080 RSI: 000000000000541c RDI: 0000000000000003
RBP: 00000000000808bc R08: 00000000004002c8 R09: 00000000004002c8
R10: 000000000000000d R11: 0000000000000246 R12: 0000000000402030
R13: 00000000004020c0 R14: 0000000000000000 R15: 0000000000000000

Crashes (15):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-root 2019/12/15 19:14 upstream 07c4b9e9f71a eef6e580 .config log report syz C
ci-upstream-kasan-gce-smack-root 2020/02/14 07:39 upstream b19e8c684703 5d7b90f1 .config log report
ci-upstream-kasan-gce-smack-root 2020/02/12 21:02 upstream f2850dd5ee01 84f4fc8a .config log report
ci-upstream-kasan-gce-smack-root 2020/02/12 15:37 upstream 359c92c02bfa 84f4fc8a .config log report
ci-upstream-kasan-gce-smack-root 2020/02/09 22:59 upstream d1ea35f4cdd4 35f5e45e .config log report
ci-upstream-kasan-gce-root 2020/01/29 09:06 upstream c677124e631d c8e81ce4 .config log report
ci-upstream-kasan-gce-root 2020/01/23 15:32 upstream 131701c697e8 3334d684 .config log report
ci-upstream-kasan-gce-root 2020/01/22 11:37 upstream d96d875ef5dd 8eda0b95 .config log report
ci-upstream-kasan-gce-selinux-root 2019/12/22 13:13 upstream b8e382a185eb 8b967267 .config log report
ci-upstream-kasan-gce-root 2019/12/18 09:46 upstream 2187f215ebaa f2fe0772 .config log report
ci-upstream-kasan-gce-root 2019/12/16 17:39 upstream 510c9788991c b80769fc .config log report
ci-upstream-kasan-gce-selinux-root 2019/12/16 02:43 upstream 07c4b9e9f71a eef6e580 .config log report
ci-upstream-kasan-gce-selinux-root 2019/12/13 20:47 upstream 37d4e84f765b 5b2ca5da .config log report
ci-upstream-kasan-gce-selinux-root 2019/12/05 03:36 upstream 63de37476ebd b2088328 .config log report
ci-upstream-linux-next-kasan-gce-root 2019/12/17 03:55 linux-next fca4fe890ea0 d13d7958 .config log report
* Struck through repros no longer work on HEAD.