syzbot


INFO: task hung in con_write (4)

Status: auto-obsoleted due to no activity on 2026/03/28 03:24
Subsystems: kernel
[Documentation on labels]
First crash: 93d, last: 93d
Similar bugs (5)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in con_write (2) serial 1 3 2085d 2133d 0/29 auto-closed as invalid on 2020/10/13 06:51
linux-4.19 INFO: task hung in con_write 1 2 2113d 2180d 0/1 auto-closed as invalid on 2020/10/15 09:20
upstream INFO: task hung in con_write serial 1 1 2298d 2298d 0/29 auto-closed as invalid on 2020/03/14 17:26
linux-4.14 INFO: task hung in con_write 1 1 2144d 2144d 0/1 auto-closed as invalid on 2020/09/14 21:41
upstream INFO: task hung in con_write (3) kernel 1 1 426d 426d 0/29 auto-obsoleted due to no activity on 2025/04/29 09:12

Sample crash report:
INFO: task syz.3.4596:15753 blocked for more than 143 seconds.
      Tainted: G             L      syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.3.4596      state:D stack:26952 pid:15753 tgid:15751 ppid:5814   task_flags:0x400040 flags:0x00080002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5256 [inline]
 __schedule+0x1139/0x6150 kernel/sched/core.c:6863
 __schedule_loop kernel/sched/core.c:6945 [inline]
 schedule+0xe7/0x3a0 kernel/sched/core.c:6960
 schedule_timeout+0x257/0x290 kernel/time/sleep_timeout.c:75
 ___down_common kernel/locking/semaphore.c:268 [inline]
 __down_common+0x31f/0x6e0 kernel/locking/semaphore.c:293
 down+0x74/0xa0 kernel/locking/semaphore.c:100
 console_lock+0x5b/0xa0 kernel/printk/printk.c:2843
 class_console_lock_constructor include/linux/console.h:737 [inline]
 con_flush_chars drivers/tty/vt/vt.c:3634 [inline]
 con_write+0x81/0xb0 drivers/tty/vt/vt.c:3566
 process_output_block drivers/tty/n_tty.c:557 [inline]
 n_tty_write+0x434/0x1280 drivers/tty/n_tty.c:2366
 iterate_tty_write drivers/tty/tty_io.c:1006 [inline]
 file_tty_write.constprop.0+0x503/0x9b0 drivers/tty/tty_io.c:1081
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x7d3/0x11d0 fs/read_write.c:686
 ksys_write+0x12a/0x250 fs/read_write.c:738
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xcd/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f756a18f749
RSP: 002b:00007f756b0a9038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f756a3e5fa0 RCX: 00007f756a18f749
RDX: 000000000000ffbc RSI: 00002000000011c0 RDI: 0000000000000003
RBP: 00007f756a213f91 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f756a3e6038 R14: 00007f756a3e5fa0 R15: 00007ffc7a4e4988
 </TASK>

Showing all locks held in the system:
1 lock held by kthreadd/2:
3 locks held by kworker/0:0/9:
 #0: ffff88805a939d48 ((wq_completion)wg-kex-wg0#8){+.+.}-{0:0}, at: process_one_work+0x128d/0x1b20 kernel/workqueue.c:3232
 #1: ffffc900000e7c90 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x914/0x1b20 kernel/workqueue.c:3233
 #2: ffff8880294cd278 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_begin_session+0x30/0xe80 drivers/net/wireguard/noise.c:822
3 locks held by kworker/0:1/10:
 #0: ffff88814e089d48 ((wq_completion)wg-kex-wg0#4){+.+.}-{0:0}, at: process_one_work+0x128d/0x1b20 kernel/workqueue.c:3232
 #1: ffffc900000f7c90 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x914/0x1b20 kernel/workqueue.c:3233
 #2: ffff888058d50338 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_begin_session+0x30/0xe80 drivers/net/wireguard/noise.c:822
4 locks held by kworker/u8:0/12:
1 lock held by khungtaskd/31:
 #0: ffffffff8e3c96a0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
 #0: ffffffff8e3c96a0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:867 [inline]
 #0: ffffffff8e3c96a0 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x36/0x1c0 kernel/locking/lockdep.c:6775
2 locks held by kworker/u8:2/36:
2 locks held by kworker/1:1/43:
3 locks held by kworker/u8:3/50:
7 locks held by kworker/1:2/89:
3 locks held by kworker/u8:5/133:
4 locks held by kworker/u8:6/145:
3 locks held by kworker/u8:9/3435:
2 locks held by kworker/u8:10/3498:
2 locks held by kworker/u8:11/3543:
4 locks held by kworker/u8:14/3918:
3 locks held by kworker/u8:16/4192:
2 locks held by kworker/u9:1/5139:
2 locks held by jbd2/sda1-8/5150:
2 locks held by udevd/5188:
1 lock held by dhcpcd/5482:
1 lock held by dhcpcd/5483:
1 lock held by crond/5557:
2 locks held by getty/5571:
 #0: ffff88814cdac0a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x24/0x80 drivers/tty/tty_ldisc.c:243
 #1: ffffc9000332b2f0 (&ldata->atomic_read_lock){+.+.}-{4:4}, at: n_tty_read+0x41b/0x1510 drivers/tty/n_tty.c:2211
5 locks held by syz-executor/5812:
2 locks held by syz-executor/5816:
4 locks held by kworker/0:3/5830:
 #0: ffff88807b13f148 ((wq_completion)wg-kex-wg1#10){+.+.}-{0:0}, at: process_one_work+0x128d/0x1b20 kernel/workqueue.c:3232
 #1: ffffc90002ec7c90 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x914/0x1b20 kernel/workqueue.c:3233
 #2: ffff888025c85308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598
 #3: ffff888058ac8d20 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632
4 locks held by kworker/0:6/5869:
 #0: ffff88807a8f6948 ((wq_completion)wg-kex-wg2#4){+.+.}-{0:0}, at: process_one_work+0x128d/0x1b20 kernel/workqueue.c:3232
 #1: ffffc900025afc90 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x914/0x1b20 kernel/workqueue.c:3233
 #2: ffff888020b29308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598
 #3: ffff8880294cc890 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632
4 locks held by kworker/0:7/5894:
4 locks held by kworker/0:8/5920:
2 locks held by kworker/1:5/5924:
4 locks held by kworker/1:6/5937:
4 locks held by kworker/1:7/5938:
 #0: ffff88807a8f6948 ((wq_completion)wg-kex-wg2#4){+.+.}-{0:0}, at: process_one_work+0x128d/0x1b20 kernel/workqueue.c:3232
 #1: ffffc9000479fc90 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"((__typeof__(*((worker))) *)(( unsigned long)((worker))))); (typeof((__typeof__(*((worker))) *)(( unsigned long)((worker))))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x914/0x1b20 kernel/workqueue.c:3233
 #2: ffff888020b29308 (&wg->static_identity.lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x1c2/0x880 drivers/net/wireguard/noise.c:598
 #3: ffff8880294cc890 (&handshake->lock){++++}-{4:4}, at: wg_noise_handshake_consume_initiation+0x5ac/0x880 drivers/net/wireguard/noise.c:632
3 locks held by kworker/1:10/5941:
3 locks held by kworker/0:10/6567:
4 locks held by kworker/u8:17/6979:
4 locks held by syz.3.4596/15753:
 #0: ffff888078b0f0a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x24/0x80 drivers/tty/tty_ldisc.c:243
 #1: ffff888078b0f130 (&tty->atomic_write_lock){+.+.}-{4:4}, at: tty_write_lock drivers/tty/tty_io.c:939 [inline]
 #1: ffff888078b0f130 (&tty->atomic_write_lock){+.+.}-{4:4}, at: iterate_tty_write drivers/tty/tty_io.c:958 [inline]
 #1: ffff888078b0f130 (&tty->atomic_write_lock){+.+.}-{4:4}, at: file_tty_write.constprop.0+0x283/0x9b0 drivers/tty/tty_io.c:1081
 #2: ffff888078b0f2e8 (&tty->termios_rwsem){++++}-{4:4}, at: class_rwsem_read_constructor include/linux/rwsem.h:253 [inline]
 #2: ffff888078b0f2e8 (&tty->termios_rwsem){++++}-{4:4}, at: n_tty_write+0x1d0/0x1280 drivers/tty/n_tty.c:2349
 #3: ffffc9000d753380 (&ldata->output_lock){+.+.}-{4:4}, at: class_mutex_constructor include/linux/mutex.h:253 [inline]
 #3: ffffc9000d753380 (&ldata->output_lock){+.+.}-{4:4}, at: process_output_block drivers/tty/n_tty.c:513 [inline]
 #3: ffffc9000d753380 (&ldata->output_lock){+.+.}-{4:4}, at: n_tty_write+0x5aa/0x1280 drivers/tty/n_tty.c:2366
2 locks held by syz.3.4596/15755:
1 lock held by udevd/15759:
4 locks held by kworker/1:11/15760:
4 locks held by kworker/1:13/15762:
2 locks held by kworker/u8:18/15763:
4 locks held by kworker/u8:19/15765:
4 locks held by kworker/0:12/15766:
3 locks held by kworker/u8:20/15767:

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

NMI backtrace for cpu 0
CPU: 0 UID: 0 PID: 31 Comm: khungtaskd Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120
 nmi_cpu_backtrace+0x27b/0x390 lib/nmi_backtrace.c:113
 nmi_trigger_cpumask_backtrace+0x29c/0x300 lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:160 [inline]
 __sys_info lib/sys_info.c:157 [inline]
 sys_info+0x133/0x180 lib/sys_info.c:165
 check_hung_uninterruptible_tasks kernel/hung_task.c:346 [inline]
 watchdog+0xe66/0x1180 kernel/hung_task.c:515
 kthread+0x3c5/0x780 kernel/kthread.c:463
 ret_from_fork+0x983/0xb10 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
 </TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 UID: 0 PID: 89 Comm: kworker/1:2 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: wg-kex-wg2 wg_packet_handshake_receive_worker
RIP: 0010:kasan_check_range+0x0/0x1b0 mm/kasan/generic.c:199
Code: f2 be f8 00 00 00 e9 ff 80 4f 09 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 <0f> 1f 40 d6 48 85 f6 0f 84 64 01 00 00 48 89 f8 41 54 44 0f b6 c2
RSP: 0018:ffffc90000a07eb0 EFLAGS: 00000046
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffffffff81c709ef
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff9088b4d0
RBP: ffff88808c968a00 R08: ffffffff911b490a R09: ffff88823b2fd0e0
R10: 00000000bbdae08e R11: 0000000000002ba1 R12: ffff888140eb4a00
R13: 0000000000000200 R14: 0000000000000000 R15: ffffea0002325a00
FS:  0000000000000000(0000) GS:ffff8881249f5000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffe4e710f48 CR3: 000000000e184000 CR4: 00000000003526f0
Call Trace:
 <IRQ>
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 cpumask_test_cpu include/linux/cpumask.h:649 [inline]
 cpu_online include/linux/cpumask.h:1231 [inline]
 trace_irq_disable.constprop.0+0x2f/0x110 include/trace/events/preemptirq.h:36
 kasan_quarantine_put+0xae/0x240 mm/kasan/quarantine.c:207
 kasan_slab_free include/linux/kasan.h:234 [inline]
 slab_free_hook mm/slub.c:2540 [inline]
 slab_free mm/slub.c:6670 [inline]
 kmem_cache_free+0x2d8/0x770 mm/slub.c:6781
 kfree_skbmem+0x1a4/0x1f0 net/core/skbuff.c:1130
 __kfree_skb net/core/skbuff.c:1197 [inline]
 sk_skb_reason_drop+0x136/0x1a0 net/core/skbuff.c:1234
 kfree_skb_reason include/linux/skbuff.h:1322 [inline]
 kfree_skb include/linux/skbuff.h:1331 [inline]
 ip6_mc_input+0x82c/0xf60 net/ipv6/ip6_input.c:593
 dst_input include/net/dst.h:474 [inline]
 dst_input include/net/dst.h:472 [inline]
 ip6_rcv_finish+0x3df/0x580 net/ipv6/ip6_input.c:79
 ip_sabotage_in+0x21e/0x290 net/bridge/br_netfilter_hooks.c:990
 nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
 nf_hook_slow+0xbe/0x200 net/netfilter/core.c:623
 nf_hook.constprop.0+0x424/0x750 include/linux/netfilter.h:273
 NF_HOOK include/linux/netfilter.h:316 [inline]
 ipv6_rcv+0xa4/0x650 net/ipv6/ip6_input.c:311
 __netif_receive_skb_one_core+0x12d/0x1e0 net/core/dev.c:6137
 __netif_receive_skb+0x1d/0x160 net/core/dev.c:6250
 netif_receive_skb_internal net/core/dev.c:6336 [inline]
 netif_receive_skb+0x137/0x760 net/core/dev.c:6395
 NF_HOOK include/linux/netfilter.h:318 [inline]
 NF_HOOK include/linux/netfilter.h:312 [inline]
 br_pass_frame_up+0x346/0x490 net/bridge/br_input.c:70
 br_handle_frame_finish+0x10e8/0x1f00 net/bridge/br_input.c:235
 br_nf_hook_thresh+0x307/0x410 net/bridge/br_netfilter_hooks.c:1167
 br_nf_pre_routing_finish_ipv6+0x76a/0xfc0 net/bridge/br_netfilter_ipv6.c:154
 NF_HOOK include/linux/netfilter.h:318 [inline]
 br_nf_pre_routing_ipv6+0x3cd/0x8c0 net/bridge/br_netfilter_ipv6.c:184
 br_nf_pre_routing+0x860/0x15b0 net/bridge/br_netfilter_hooks.c:508
 nf_hook_entry_hookfn include/linux/netfilter.h:158 [inline]
 nf_hook_bridge_pre net/bridge/br_input.c:291 [inline]
 br_handle_frame+0xb28/0x14e0 net/bridge/br_input.c:442
 __netif_receive_skb_core.constprop.0+0x6b3/0x35b0 net/core/dev.c:6024
 __netif_receive_skb_one_core+0xb0/0x1e0 net/core/dev.c:6135
 __netif_receive_skb+0x1d/0x160 net/core/dev.c:6250
 process_backlog+0x4a2/0x1650 net/core/dev.c:6602
 __napi_poll.constprop.0+0xb3/0x540 net/core/dev.c:7666
 napi_poll net/core/dev.c:7729 [inline]
 net_rx_action+0x9f9/0xfa0 net/core/dev.c:7881
 handle_softirqs+0x219/0x950 kernel/softirq.c:622
 do_softirq kernel/softirq.c:523 [inline]
 do_softirq+0xb2/0xf0 kernel/softirq.c:510
 </IRQ>
 <TASK>
 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:450
 local_bh_enable include/linux/bottom_half.h:33 [inline]
 fpregs_unlock arch/x86/include/asm/fpu/api.h:77 [inline]
 kernel_fpu_end arch/x86/kernel/fpu/core.c:480 [inline]
 kernel_fpu_end+0x5e/0x70 arch/x86/kernel/fpu/core.c:473
 blake2s_compress+0x77/0xe0 lib/crypto/x86/blake2s.h:42
 blake2s_final+0xc9/0x150 lib/crypto/blake2s.c:142
 hmac.constprop.0+0x335/0x420 drivers/net/wireguard/noise.c:333
 kdf.constprop.0+0x14b/0x280 drivers/net/wireguard/noise.c:367
 mix_dh+0xd2/0x130 drivers/net/wireguard/noise.c:413
 wg_noise_handshake_consume_initiation+0x265/0x880 drivers/net/wireguard/noise.c:608
 wg_receive_handshake_packet+0x219/0xbf0 drivers/net/wireguard/receive.c:144
 wg_packet_handshake_receive_worker+0x16d/0x380 drivers/net/wireguard/receive.c:213
 process_one_work+0x9ba/0x1b20 kernel/workqueue.c:3257
 process_scheduled_works kernel/workqueue.c:3340 [inline]
 worker_thread+0x6c8/0xf10 kernel/workqueue.c:3421
 kthread+0x3c5/0x780 kernel/kthread.c:463
 ret_from_fork+0x983/0xb10 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
 </TASK>
net_ratelimit: 26469 callbacks suppressed
bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:0)
bridge0: received packet on veth0_to_bridge with own address as source address (addr:5e:7b:72:00:fc:4b, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:0)
bridge0: received packet on veth0_to_bridge with own address as source address (addr:aa:aa:aa:aa:aa:0c, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:1b, vlan:0)

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/12/28 03:21 upstream d26143bb38e2 d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root INFO: task hung in con_write
* Struck through repros no longer work on HEAD.