INFO: task kcompactd0:1183 blocked for more than 143 seconds. Not tainted 5.9.0-rc8-syzkaller #0 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kcompactd0 state:D stack:28464 pid: 1183 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:3778 [inline] __schedule+0xec9/0x2280 kernel/sched/core.c:4527 schedule+0xd0/0x2a0 kernel/sched/core.c:4602 io_schedule+0xb5/0x120 kernel/sched/core.c:6296 wait_on_page_bit_common+0x32a/0xe30 mm/filemap.c:1253 lock_page include/linux/pagemap.h:548 [inline] __unmap_and_move mm/migrate.c:1047 [inline] unmap_and_move mm/migrate.c:1197 [inline] migrate_pages+0x753/0x30f0 mm/migrate.c:1458 compact_zone+0x1b13/0x3a20 mm/compaction.c:2315 kcompactd_do_work+0x2c7/0x790 mm/compaction.c:2725 kcompactd+0x25d/0xd50 mm/compaction.c:2820 kthread+0x3b5/0x4a0 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 Showing all locks held in the system: 1 lock held by kthreadd/2: 4 locks held by kworker/u4:0/7: #0: ffff88805f139138 ((wq_completion)wg-kex-wg1#77){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff88805f139138 ((wq_completion)wg-kex-wg1#77){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff88805f139138 ((wq_completion)wg-kex-wg1#77){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff88805f139138 ((wq_completion)wg-kex-wg1#77){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff88805f139138 ((wq_completion)wg-kex-wg1#77){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff88805f139138 ((wq_completion)wg-kex-wg1#77){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc90000cdfda8 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff888082485088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xaf/0x6a0 drivers/net/wireguard/noise.c:496 #3: ffff888041be4690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xc3/0x6a0 drivers/net/wireguard/noise.c:497 3 locks held by kworker/u4:1/21: 4 locks held by kworker/u4:3/122: #0: ffff88806b9be938 ((wq_completion)wg-kex-wg1#76){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff88806b9be938 ((wq_completion)wg-kex-wg1#76){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff88806b9be938 ((wq_completion)wg-kex-wg1#76){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff88806b9be938 ((wq_completion)wg-kex-wg1#76){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff88806b9be938 ((wq_completion)wg-kex-wg1#76){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff88806b9be938 ((wq_completion)wg-kex-wg1#76){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc90001367da8 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff88807400d088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xaf/0x6a0 drivers/net/wireguard/noise.c:496 #3: ffff88804c4a8690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xc3/0x6a0 drivers/net/wireguard/noise.c:497 1 lock held by khungtaskd/1178: #0: ffffffff8a067f40 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:5852 1 lock held by kswapd0/1699: 1 lock held by kswapd1/1700: 6 locks held by kworker/0:2/2643: 1 lock held by systemd-journal/3916: 1 lock held by in:imklog/6554: 1 lock held by cron/6549: 2 locks held by syz-fuzzer/6857: 1 lock held by syz-fuzzer/20482: 4 locks held by kworker/u4:7/20946: #0: ffff888087ed7938 ((wq_completion)wg-kex-wg2#77){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff888087ed7938 ((wq_completion)wg-kex-wg2#77){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff888087ed7938 ((wq_completion)wg-kex-wg2#77){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff888087ed7938 ((wq_completion)wg-kex-wg2#77){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff888087ed7938 ((wq_completion)wg-kex-wg2#77){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff888087ed7938 ((wq_completion)wg-kex-wg2#77){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc90008457da8 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff888084e5d088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xaf/0x6a0 drivers/net/wireguard/noise.c:496 #3: ffff88806e2e2690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xc3/0x6a0 drivers/net/wireguard/noise.c:497 4 locks held by kworker/0:11/26055: #0: ffff888071c03538 ((wq_completion)wg-kex-wg1#75){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff888071c03538 ((wq_completion)wg-kex-wg1#75){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff888071c03538 ((wq_completion)wg-kex-wg1#75){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff888071c03538 ((wq_completion)wg-kex-wg1#75){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff888071c03538 ((wq_completion)wg-kex-wg1#75){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff888071c03538 ((wq_completion)wg-kex-wg1#75){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc9000dfcfda8 ((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))) *)((worker)))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff88807400d088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0xf1/0x9d0 drivers/net/wireguard/noise.c:565 #3: ffff88804c4a8690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0x6dd/0x9d0 drivers/net/wireguard/noise.c:599 4 locks held by kworker/0:15/29754: 4 locks held by kworker/0:18/29757: #0: ffff88806c599d38 ((wq_completion)wg-kex-wg0#74){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff88806c599d38 ((wq_completion)wg-kex-wg0#74){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff88806c599d38 ((wq_completion)wg-kex-wg0#74){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff88806c599d38 ((wq_completion)wg-kex-wg0#74){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff88806c599d38 ((wq_completion)wg-kex-wg0#74){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff88806c599d38 ((wq_completion)wg-kex-wg0#74){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc900065cfda8 ((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))) *)((worker)))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff88806e131088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0xf1/0x9d0 drivers/net/wireguard/noise.c:565 #3: ffff8880a7718690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0x6dd/0x9d0 drivers/net/wireguard/noise.c:599 4 locks held by kworker/1:12/29838: 4 locks held by kworker/u4:2/3785: #0: ffff88809276c138 ((wq_completion)wg-kex-wg0#77){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff88809276c138 ((wq_completion)wg-kex-wg0#77){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff88809276c138 ((wq_completion)wg-kex-wg0#77){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff88809276c138 ((wq_completion)wg-kex-wg0#77){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff88809276c138 ((wq_completion)wg-kex-wg0#77){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff88809276c138 ((wq_completion)wg-kex-wg0#77){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc90008427da8 ((work_completion)(&peer->transmit_handshake_work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff8880868c9088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xaf/0x6a0 drivers/net/wireguard/noise.c:496 #3: ffff888092a5c690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_create_initiation+0xc3/0x6a0 drivers/net/wireguard/noise.c:497 4 locks held by kworker/1:0/15924: 4 locks held by kworker/1:3/15926: #0: ffff88808ef93538 ((wq_completion)wg-kex-wg0#78){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff88808ef93538 ((wq_completion)wg-kex-wg0#78){+.+.}-{0:0}, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline] #0: ffff88808ef93538 ((wq_completion)wg-kex-wg0#78){+.+.}-{0:0}, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline] #0: ffff88808ef93538 ((wq_completion)wg-kex-wg0#78){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:616 [inline] #0: ffff88808ef93538 ((wq_completion)wg-kex-wg0#78){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline] #0: ffff88808ef93538 ((wq_completion)wg-kex-wg0#78){+.+.}-{0:0}, at: process_one_work+0x82b/0x1670 kernel/workqueue.c:2240 #1: ffffc90008c27da8 ((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))) *)((worker)))); (typeof((typeof(*((worker))) *)((worker)))) (__ptr + (((__per_cpu_offset[(cpu)])))); }); })->work)){+.+.}-{0:0}, at: process_one_work+0x85f/0x1670 kernel/workqueue.c:2244 #2: ffff8880868c9088 (&wg->static_identity.lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0xf1/0x9d0 drivers/net/wireguard/noise.c:565 #3: ffff888092a5c690 (&handshake->lock){++++}-{3:3}, at: wg_noise_handshake_consume_initiation+0x6dd/0x9d0 drivers/net/wireguard/noise.c:599 4 locks held by kworker/0:0/15937: ============================================= NMI backtrace for cpu 0 CPU: 0 PID: 1178 Comm: khungtaskd Not tainted 5.9.0-rc8-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+0x198/0x1fd lib/dump_stack.c:118 nmi_cpu_backtrace.cold+0x70/0xb1 lib/nmi_backtrace.c:101 nmi_trigger_cpumask_backtrace+0x1b3/0x223 lib/nmi_backtrace.c:62 trigger_all_cpu_backtrace include/linux/nmi.h:146 [inline] check_hung_uninterruptible_tasks kernel/hung_task.c:209 [inline] watchdog+0xd7d/0x1000 kernel/hung_task.c:295 kthread+0x3b5/0x4a0 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 16575 Comm: syz-executor.5 Not tainted 5.9.0-rc8-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:check_memory_region+0x12b/0x180 mm/kasan/generic.c:193 Code: 3a 00 74 ef 49 8d 04 2c 48 85 d2 75 0b 48 89 da 48 29 c2 e9 55 ff ff ff 49 39 d2 75 17 49 0f be 02 41 83 e1 07 49 39 c1 7d 0a <5b> b8 01 00 00 00 5d 41 5c c3 44 89 c2 e8 e3 ef ff ff 5b 83 f0 01 RSP: 0018:ffffc900078decc8 EFLAGS: 00000046 RAX: fffff94000b1c151 RBX: fffff94000b1c151 RCX: ffffffff819d55aa RDX: fffff94000b1c151 RSI: 0000000000000008 RDI: ffffea00058e0a80 RBP: fffff94000b1c150 R08: 0000000000000000 R09: ffffea00058e0a87 R10: fffff94000b1c150 R11: 0000000000000000 R12: ffffc900078dee88 R13: 0000000000000000 R14: dffffc0000000000 R15: ffffea00058e0a88 FS: 00007ff4e0006700(0000) GS:ffff8880ae500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f54c90c122d CR3: 0000000025a0f000 CR4: 00000000001506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: instrument_atomic_read include/linux/instrumented.h:56 [inline] test_bit include/asm-generic/bitops/instrumented-non-atomic.h:110 [inline] PageUnevictable include/linux/page-flags.h:402 [inline] page_lru include/linux/mm_inline.h:119 [inline] move_pages_to_lru.isra.0+0x34a/0x19d0 mm/vmscan.c:1863 shrink_inactive_list+0x38d/0xd40 mm/vmscan.c:1963 shrink_list mm/vmscan.c:2168 [inline] shrink_lruvec+0x61b/0x11b0 mm/vmscan.c:2463 shrink_node_memcgs mm/vmscan.c:2651 [inline] shrink_node+0x839/0x1d60 mm/vmscan.c:2768 shrink_zones mm/vmscan.c:2971 [inline] do_try_to_free_pages+0x38b/0x1440 mm/vmscan.c:3026 try_to_free_pages+0x29e/0x7d0 mm/vmscan.c:3265 __perform_reclaim mm/page_alloc.c:4273 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:4294 [inline] __alloc_pages_slowpath.constprop.0+0x995/0x28c0 mm/page_alloc.c:4698 __alloc_pages_nodemask+0x62c/0x790 mm/page_alloc.c:4914 alloc_pages_current+0x191/0x2a0 mm/mempolicy.c:2275 alloc_pages include/linux/gfp.h:545 [inline] __page_cache_alloc mm/filemap.c:957 [inline] __page_cache_alloc+0x314/0x420 mm/filemap.c:942 page_cache_readahead_unbounded+0x323/0x850 mm/readahead.c:222 __do_page_cache_readahead+0xc2/0xf0 mm/readahead.c:273 ra_submit mm/internal.h:64 [inline] do_sync_mmap_readahead mm/filemap.c:2607 [inline] filemap_fault+0x1a66/0x2aa0 mm/filemap.c:2695 __do_fault+0x10d/0x4d0 mm/memory.c:3606 do_read_fault mm/memory.c:3999 [inline] do_fault mm/memory.c:4127 [inline] handle_pte_fault mm/memory.c:4367 [inline] __handle_mm_fault mm/memory.c:4502 [inline] handle_mm_fault+0x3477/0x4590 mm/memory.c:4600 do_user_addr_fault+0x598/0xbf0 arch/x86/mm/fault.c:1372 handle_page_fault arch/x86/mm/fault.c:1429 [inline] exc_page_fault+0xa8/0x190 arch/x86/mm/fault.c:1482 asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:538 RIP: 0010:do_strncpy_from_user lib/strncpy_from_user.c:40 [inline] RIP: 0010:strncpy_from_user+0x1fb/0x3e0 lib/strncpy_from_user.c:121 Code: 07 a0 fd 48 83 ed 08 bf 07 00 00 00 48 83 c3 08 48 89 ee e8 67 04 a0 fd 48 83 fd 07 0f 86 9b 01 00 00 e8 d8 07 a0 fd 45 31 ff <4d> 8b 64 1d 00 31 ff 44 89 fe e8 26 04 a0 fd 45 85 ff 0f 84 61 ff RSP: 0018:ffffc900078dfd20 EFLAGS: 00010246 RAX: 00000000000000d1 RBX: 0000000000000000 RCX: ffffc9001103b000 RDX: 0000000000040000 RSI: ffffffff83d63738 RDI: 0000000000000007 RBP: 0000000000000fe0 R08: 0000000000000fe0 R09: 0000000000000000 R10: 0000000000000007 R11: 0000000000000000 R12: 0000000020001060 R13: 0000000020000080 R14: ffff888093778160 R15: 0000000000000000 getname_flags.part.0+0x95/0x4f0 fs/namei.c:149 getname_flags include/linux/audit.h:320 [inline] getname+0x8e/0xd0 fs/namei.c:209 do_sys_openat2+0xf5/0x420 fs/open.c:1162 do_sys_open fs/open.c:1184 [inline] __do_sys_openat fs/open.c:1200 [inline] __se_sys_openat fs/open.c:1195 [inline] __x64_sys_openat+0x13f/0x1f0 fs/open.c:1195 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45de29 Code: Bad RIP value. RSP: 002b:00007ff4e0005c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 RAX: ffffffffffffffda RBX: 0000000000024040 RCX: 000000000045de29 RDX: 0000000000000000 RSI: 0000000020000080 RDI: ffffffffffffff9c RBP: 000000000118bf68 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118bf2c R13: 00007ffdfee22aaf R14: 00007ff4e00069c0 R15: 000000000118bf2c