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