syzbot


INFO: task hung in wg_noise_handshake_create_initiation

Status: auto-closed as invalid on 2020/06/25 19:28
Subsystems: wireguard
[Documentation on labels]
First crash: 1843d, last: 1821d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in wg_noise_handshake_create_initiation (2) wireguard 1 437d 437d 0/28 auto-obsoleted due to no activity on 2024/04/09 14:33
upstream INFO: task hung in wg_noise_handshake_create_initiation (3) wireguard 6 132d 290d 0/28 auto-obsoleted due to no activity on 2025/02/08 22:54

Sample crash report:
INFO: task kworker/u4:1:21 blocked for more than 143 seconds.
      Not tainted 5.6.0-rc7-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kworker/u4:1    D24432    21      2 0x80004000
Workqueue: wg-kex-wg2 wg_packet_handshake_send_worker
Call Trace:
 context_switch kernel/sched/core.c:3380 [inline]
 __schedule+0x7c9/0xc50 kernel/sched/core.c:4080
 schedule+0x188/0x220 kernel/sched/core.c:4154
 rwsem_down_write_slowpath+0x7d0/0xd60 kernel/locking/rwsem.c:1238
 __down_write kernel/locking/rwsem.c:1392 [inline]
 down_write+0x125/0x130 kernel/locking/rwsem.c:1535
 wg_noise_handshake_create_initiation+0x7e/0x1610 drivers/net/wireguard/noise.c:508
 mark_held_locks kernel/locking/lockdep.c:3359 [inline]
 __trace_hardirqs_on_caller kernel/locking/lockdep.c:3388 [inline]
 lockdep_hardirqs_on+0x4f4/0x840 kernel/locking/lockdep.c:3433
 seqcount_lockdep_reader_access include/linux/seqlock.h:83 [inline]
 read_seqcount_begin+0x122/0x1c0 include/linux/seqlock.h:164
 ktime_get_coarse_with_offset+0x65/0xe0 kernel/time/timekeeping.c:821
 __read_seqcount_begin include/linux/seqlock.h:114 [inline]
 raw_read_seqcount_begin include/linux/seqlock.h:148 [inline]
 read_seqcount_begin+0x177/0x1c0 include/linux/seqlock.h:165
 ktime_get_coarse_with_offset+0xb2/0xe0 kernel/time/timekeeping.c:823
 wg_packet_send_handshake_initiation drivers/net/wireguard/send.c:34 [inline]
 wg_packet_handshake_send_worker+0xd8/0x190 drivers/net/wireguard/send.c:51
 lock_is_held include/linux/lockdep.h:361 [inline]
 rcu_read_lock_sched_held+0x106/0x170 kernel/rcu/update.c:121
 process_one_work+0x76e/0xfd0 kernel/workqueue.c:2266
 atomic_try_cmpxchg include/asm-generic/atomic-instrumented.h:694 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:78 [inline]
 do_raw_spin_lock+0xfe/0x800 kernel/locking/spinlock_debug.c:113
 worker_thread+0xa7f/0x1450 kernel/workqueue.c:2412
 kthread+0x317/0x340 kernel/kthread.c:255
 rcu_lock_release+0x20/0x20
 kthread_blkcg+0xd0/0xd0 kernel/kthread.c:1234
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352

Showing all locks held in the system:
2 locks held by systemd/1:
1 lock held by kthreadd/2:
4 locks held by kworker/u4:1/21:
 #0: ffff8880991a3128 ((wq_completion)wg-kex-wg2#3){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff8880991a3128 ((wq_completion)wg-kex-wg2#3){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc90000dd7d88 ((work_completion)(&peer->transmit_handshake_work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff888054714e80 (&wg->static_identity.lock){++++}, at: wg_noise_handshake_create_initiation+0x6a/0x1610 drivers/net/wireguard/noise.c:507
 #3: ffff88804b6904f0 (&handshake->lock){++++}, at: wg_noise_handshake_create_initiation+0x7e/0x1610 drivers/net/wireguard/noise.c:508
1 lock held by khungtaskd/1123:
 #0: ffffffff890d9ac8 (rcu_read_lock){....}, at: rcu_lock_acquire+0x0/0x30 lib/xarray.c:75
3 locks held by kswapd0/1873:
3 locks held by kswapd1/1874:
4 locks held by kworker/1:17/2743:
 #0: ffff888097557928 ((wq_completion)wg-kex-wg0#8){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff888097557928 ((wq_completion)wg-kex-wg0#8){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc9000844fd88 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff8880953c04f0 (&handshake->lock){++++}, at: wg_noise_handshake_begin_session+0x35/0x960 drivers/net/wireguard/noise.c:796
 #3: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
6 locks held by kworker/1:58/2792:
4 locks held by kworker/u4:6/2877:
 #0: ffff888097557528 ((wq_completion)wg-kex-wg0#7){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff888097557528 ((wq_completion)wg-kex-wg0#7){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc900089dfd88 ((work_completion)(&peer->transmit_handshake_work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff88804d6cce80 (&wg->static_identity.lock){++++}, at: wg_noise_handshake_create_initiation+0x6a/0x1610 drivers/net/wireguard/noise.c:507
 #3: ffff888095bcc4f0 (&handshake->lock){++++}, at: wg_noise_handshake_create_initiation+0x7e/0x1610 drivers/net/wireguard/noise.c:508
2 locks held by systemd-journal/4167:
2 locks held by systemd-udevd/4175:
 #0: ffff8880a17682a8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
3 locks held by systemd-timesyn/5021:
2 locks held by rsyslogd/6602:
 #0: ffff8880a17682a8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
2 locks held by in:imklog/6645:
 #0: ffff8880a17682a8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
2 locks held by cron/6617:
 #0: ffff8880a17682a8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
2 locks held by agetty/6692:
 #0: ffff8880a695f090 (&tty->ldisc_sem){++++}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:267
 #1: ffffc90000f902e0 (&ldata->atomic_read_lock){+.+.}, at: n_tty_read+0x25d/0x1bc0 drivers/tty/n_tty.c:2156
2 locks held by sshd/7055:
 #0: ffff8880a17682a8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
2 locks held by syz-fuzzer/7061:
 #0: ffff88808afd52e8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
2 locks held by syz-fuzzer/7062:
 #0: ffff88808afd52e8 (&ei->i_mmap_sem){++++}, at: ext4_filemap_fault+0x7a/0xa0 fs/ext4/inode.c:6019
 #1: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
2 locks held by syz-executor.2/10287:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
 #1: ffff8880497db420 (&ei->i_data_sem){++++}, at: ext4_truncate+0xb58/0xfe0 fs/ext4/inode.c:4193
1 lock held by syz-executor.3/10323:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/10371:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.2/10422:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.2/10429:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.2/10436:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/10588:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/10640:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/10728:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/10908:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11001:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11087:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11113:
2 locks held by syz-executor.2/11178:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
 #1: ffff888049663420 (&ei->i_data_sem){++++}, at: ext4_truncate+0xb58/0xfe0 fs/ext4/inode.c:4193
1 lock held by syz-executor.3/11185:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11278:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11318:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11446:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/11741:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.2/11752:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.2/12049:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/12885:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.3/13094:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
1 lock held by syz-executor.2/18667:
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: sb_start_intwrite include/linux/fs.h:1697 [inline]
 #0: ffff88809a19e628 (sb_internal){.+.+}, at: ext4_evict_inode+0x37e/0xfd0 fs/ext4/inode.c:227
3 locks held by syz-executor.2/18762:
4 locks held by kworker/u4:0/32148:
 #0: ffff8880991a3128 ((wq_completion)wg-kex-wg2#3){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff8880991a3128 ((wq_completion)wg-kex-wg2#3){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc90002df7d88 ((work_completion)(&peer->transmit_handshake_work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff888054714e80 (&wg->static_identity.lock){++++}, at: wg_noise_handshake_create_initiation+0x6a/0x1610 drivers/net/wireguard/noise.c:507
 #3: ffff88804b69e4f0 (&handshake->lock){++++}, at: wg_noise_handshake_create_initiation+0x7e/0x1610 drivers/net/wireguard/noise.c:508
4 locks held by kworker/1:1/18424:
 #0: ffff88809a062128 ((wq_completion)wg-kex-wg1#3){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff88809a062128 ((wq_completion)wg-kex-wg1#3){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc90001867d88 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff88804b6724f0 (&handshake->lock){++++}, at: wg_noise_handshake_begin_session+0x35/0x960 drivers/net/wireguard/noise.c:796
 #3: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
4 locks held by kworker/0:1/19348:
 #0: ffff888097557928 ((wq_completion)wg-kex-wg0#8){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff888097557928 ((wq_completion)wg-kex-wg0#8){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc900015f7d88 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff888095bcc4f0 (&handshake->lock){++++}, at: wg_noise_handshake_begin_session+0x35/0x960 drivers/net/wireguard/noise.c:796
 #3: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
4 locks held by kworker/u4:2/20034:
 #0: ffff88808f6dcd28 ((wq_completion)wg-kex-wg1#4){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff88808f6dcd28 ((wq_completion)wg-kex-wg1#4){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc90001727d88 ((work_completion)(&peer->transmit_handshake_work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff8880545f0e80 (&wg->static_identity.lock){++++}, at: wg_noise_handshake_create_initiation+0x6a/0x1610 drivers/net/wireguard/noise.c:507
 #3: ffff88804b6724f0 (&handshake->lock){++++}, at: wg_noise_handshake_create_initiation+0x7e/0x1610 drivers/net/wireguard/noise.c:508
4 locks held by kworker/0:2/3257:
 #0: ffff8880991a3528 ((wq_completion)wg-kex-wg2#4){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff8880991a3528 ((wq_completion)wg-kex-wg2#4){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc90002dc7d88 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff88804b6904f0 (&handshake->lock){++++}, at: wg_noise_handshake_begin_session+0x35/0x960 drivers/net/wireguard/noise.c:796
 #3: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
4 locks held by kworker/u4:3/4646:
 #0: ffff888097557528 ((wq_completion)wg-kex-wg0#7){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff888097557528 ((wq_completion)wg-kex-wg0#7){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc9000d097d88 ((work_completion)(&peer->transmit_handshake_work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff88804d6cce80 (&wg->static_identity.lock){++++}, at: wg_noise_handshake_create_initiation+0x6a/0x1610 drivers/net/wireguard/noise.c:507
 #3: ffff8880953c04f0 (&handshake->lock){++++}, at: wg_noise_handshake_create_initiation+0x7e/0x1610 drivers/net/wireguard/noise.c:508
1 lock held by syz-executor.1/6830:
 #0: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
4 locks held by kworker/0:0/6878:
 #0: ffff8880a933cd28 ((wq_completion)wg-kex-wg0#6){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff8880a933cd28 ((wq_completion)wg-kex-wg0#6){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc90016a37d88 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff8880950de4f0 (&handshake->lock){++++}, at: wg_noise_handshake_begin_session+0x35/0x960 drivers/net/wireguard/noise.c:796
 #3: ffffffff89107970 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x30 mm/page_alloc.c:3728
4 locks held by kworker/1:2/6880:
 #0: ffff8880a933cd28 ((wq_completion)wg-kex-wg0#6){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline]
 #0: ffff8880a933cd28 ((wq_completion)wg-kex-wg0#6){+.+.}, at: process_one_work+0x6df/0xfd0 kernel/workqueue.c:2239
 #1: ffffc9001696fd88 ((work_completion)(&({ do { const void *__vpp_verify = (typeof((worker) + 0))((void *)0); (void)__vpp_verify; } while (0); ({ unsigned long __ptr; __ptr = (unsigned long) ((typeof(*((worker))) *)((worker))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}, at: process_one_work+0x71e/0xfd0 kernel/workqueue.c:2241
 #2: ffff88804df08e80 (&wg->static_identity.lock){++++}, at: wg_noise_handshake_consume_initiation+0x4d/0x13c0 drivers/net/wireguard/noise.c:576
 #3: ffff8880950de4f0 (&handshake->lock){++++}, at: wg_noise_handshake_consume_initiation+0xa73/0x13c0 drivers/net/wireguard/noise.c:610

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

NMI backtrace for cpu 0
CPU: 0 PID: 1123 Comm: khungtaskd Not tainted 5.6.0-rc7-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+0x1e9/0x30e lib/dump_stack.c:118
 nmi_cpu_backtrace+0x9f/0x180 lib/nmi_backtrace.c:101
 arch_trigger_cpumask_backtrace+0x10/0x10 arch/x86/kernel/apic/hw_nmi.c:38
 nmi_trigger_cpumask_backtrace+0x16a/0x280 lib/nmi_backtrace.c:62
 check_hung_uninterruptible_tasks kernel/hung_task.c:205 [inline]
 watchdog+0xd2a/0xd40 kernel/hung_task.c:289
 kthread+0x317/0x340 kernel/kthread.c:255
 hungtask_pm_notify+0x50/0x50 kernel/hung_task.c:265
 kthread_blkcg+0xd0/0xd0 kernel/kthread.c:1234
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 18424 Comm: kworker/1:1 Not tainted 5.6.0-rc7-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: wg-kex-wg1 wg_packet_handshake_receive_worker
RIP: 0010:__sanitizer_cov_trace_pc+0x48/0x50 kernel/kcov.c:197
Code: 80 13 00 00 83 fa 02 75 21 48 8b 91 88 13 00 00 48 8b 32 48 8d 7e 01 8b 89 84 13 00 00 48 39 cf 73 08 48 89 44 f2 08 48 89 3a <c3> 0f 1f 80 00 00 00 00 4c 8b 04 24 65 48 8b 04 25 c0 1d 02 00 65
RSP: 0000:ffffc90001867140 EFLAGS: 00000293
RAX: ffffffff8398b530 RBX: 0000000000000001 RCX: ffff888090830000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: 0000000000000001 R08: ffffffff8398b523 R09: fffffbfff15dbb15
R10: fffffbfff15dbb15 R11: 0000000000000000 R12: ffff888099eba000
R13: dffffc0000000000 R14: ffffffff88e05b67 R15: ffffffff88c6833a
FS:  0000000000000000(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f503a1f25e3 CR3: 000000009400d000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 check_preemption_disabled+0x40/0x240 lib/smp_processor_id.c:16
 debug_smp_processor_id+0x5/0x20 lib/smp_processor_id.c:56
 rcu_dynticks_curr_cpu_in_eqs kernel/rcu/tree.c:299 [inline]
 rcu_is_watching+0x1c/0xa0 kernel/rcu/tree.c:919
 rcu_read_lock include/linux/rcupdate.h:602 [inline]
 list_lru_count_one+0x7d/0x2a0 mm/list_lru.c:191
 list_lru_shrink_count include/linux/list_lru.h:123 [inline]
 super_cache_count+0x18b/0x290 fs/super.c:148
 do_shrink_slab+0xc1/0x5c0 mm/vmscan.c:430
 shrink_slab+0xa8/0x2b0 mm/vmscan.c:663
 shrink_slab+0x188/0x2b0 mm/vmscan.c:673
 shrink_node_memcgs+0x414/0x5e0 mm/vmscan.c:2676
 shrink_node+0xb66/0x19c0 mm/vmscan.c:2780
 shrink_zones+0x27c/0x8d0 mm/vmscan.c:2983
 do_try_to_free_pages+0x229/0xc30 mm/vmscan.c:3036
 try_to_free_pages+0x328/0xb60 mm/vmscan.c:3275
 __perform_reclaim mm/page_alloc.c:4113 [inline]
 __alloc_pages_direct_reclaim mm/page_alloc.c:4134 [inline]
 __alloc_pages_slowpath+0xe82/0x22a0 mm/page_alloc.c:4537
 __alloc_pages_nodemask+0x3c4/0x600 mm/page_alloc.c:4751
 __alloc_pages include/linux/gfp.h:496 [inline]
 __alloc_pages_node include/linux/gfp.h:509 [inline]
 kmem_getpages+0x49/0x930 mm/slab.c:1367
 cache_grow_begin+0x54/0x2e0 mm/slab.c:2594
 cache_grow_begin+0x7b/0x2e0 mm/slab.c:2600
 fallback_alloc+0x135/0x1d0 mm/slab.c:3147
 kmalloc include/linux/slab.h:555 [inline]
 kzalloc include/linux/slab.h:669 [inline]
 keypair_create drivers/net/wireguard/noise.c:103 [inline]
 wg_noise_handshake_begin_session+0xc0/0x960 drivers/net/wireguard/noise.c:801
 __do_cache_alloc mm/slab.c:3284 [inline]
 slab_alloc mm/slab.c:3312 [inline]
 kmem_cache_alloc_trace+0x174/0x300 mm/slab.c:3549
 kmalloc include/linux/slab.h:555 [inline]
 kzalloc include/linux/slab.h:669 [inline]
 keypair_create drivers/net/wireguard/noise.c:103 [inline]
 wg_noise_handshake_begin_session+0xc0/0x960 drivers/net/wireguard/noise.c:801
 wg_socket_set_peer_endpoint_from_skb+0x3d0/0x630 drivers/net/wireguard/socket.c:316
 wg_receive_handshake_packet drivers/net/wireguard/receive.c:183 [inline]
 wg_packet_handshake_receive_worker+0x406/0x640 drivers/net/wireguard/receive.c:220
 process_one_work+0x76e/0xfd0 kernel/workqueue.c:2266
 worker_thread+0xa7f/0x1450 kernel/workqueue.c:2412
 kthread+0x317/0x340 kernel/kthread.c:255
 rcu_lock_release+0x20/0x20
 kthread_blkcg+0xd0/0xd0 kernel/kthread.c:1234
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/03/27 19:21 upstream 527630fbf4f1 831e9a81 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/06 07:14 linux-next c99b17ac0399 c88c7b75 .config console log report ci-upstream-linux-next-kasan-gce-root
* Struck through repros no longer work on HEAD.