BUG: sleeping function called from invalid context at mm/page_alloc.c:4695 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 11403, name: syz-executor.4 2 locks held by syz-executor.4/11403: #0: ffffffff8983f320 (vmap_purge_lock){+.+.}, at: _vm_unmap_aliases mm/vmalloc.c:1728 [inline] #0: ffffffff8983f320 (vmap_purge_lock){+.+.}, at: _vm_unmap_aliases+0x386/0x480 mm/vmalloc.c:1695 #1: ffffffff8983f4b8 (free_vmap_area_lock){+.+.}, at: spin_lock include/linux/spinlock.h:338 [inline] #1: ffffffff8983f4b8 (free_vmap_area_lock){+.+.}, at: __cond_resched_lock+0xa8/0x100 kernel/sched/core.c:5653 Preemption disabled at: [] spin_lock include/linux/spinlock.h:338 [inline] [] __cond_resched_lock+0xa8/0x100 kernel/sched/core.c:5653 CPU: 0 PID: 11403 Comm: syz-executor.4 Not tainted 5.4.0-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 ___might_sleep.cold+0x1fb/0x23e kernel/sched/core.c:6800 __might_sleep+0x95/0x190 kernel/sched/core.c:6753 prepare_alloc_pages mm/page_alloc.c:4695 [inline] __alloc_pages_nodemask+0x523/0x910 mm/page_alloc.c:4744 alloc_pages_current+0x107/0x210 mm/mempolicy.c:2207 alloc_pages include/linux/gfp.h:532 [inline] __get_free_pages+0xc/0x40 mm/page_alloc.c:4800 __pte_alloc_one_kernel include/asm-generic/pgalloc.h:21 [inline] pte_alloc_one_kernel include/asm-generic/pgalloc.h:33 [inline] __pte_alloc_kernel+0x1d/0x210 mm/memory.c:459 apply_to_pte_range mm/memory.c:2031 [inline] apply_to_pmd_range mm/memory.c:2068 [inline] apply_to_pud_range mm/memory.c:2088 [inline] apply_to_p4d_range mm/memory.c:2108 [inline] apply_to_page_range+0x621/0x700 mm/memory.c:2133 kasan_release_vmalloc+0xa9/0xc0 mm/kasan/common.c:972 __purge_vmap_area_lazy+0xc67/0x1eb0 mm/vmalloc.c:1313 _vm_unmap_aliases mm/vmalloc.c:1730 [inline] _vm_unmap_aliases+0x396/0x480 mm/vmalloc.c:1695 vm_unmap_aliases+0x19/0x20 mm/vmalloc.c:1753 change_page_attr_set_clr+0x22e/0x840 arch/x86/mm/pageattr.c:1709 change_page_attr_clear arch/x86/mm/pageattr.c:1766 [inline] set_memory_ro+0x7b/0xa0 arch/x86/mm/pageattr.c:1899 bpf_jit_binary_lock_ro include/linux/filter.h:790 [inline] bpf_int_jit_compile+0xebd/0x12ce arch/x86/net/bpf_jit_comp.c:1659 bpf_prog_select_runtime+0x4b9/0x850 kernel/bpf/core.c:1801 bpf_prog_load+0x10eb/0x18a0 kernel/bpf/syscall.c:1809 __do_sys_bpf+0xa48/0x37b0 kernel/bpf/syscall.c:3030 __se_sys_bpf kernel/bpf/syscall.c:2989 [inline] __x64_sys_bpf+0x73/0xb0 kernel/bpf/syscall.c:2989 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45a679 Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 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 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007ff6b8946c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 000000000045a679 RDX: 0000000000000048 RSI: 0000000020000200 RDI: 0000000000000005 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ff6b89476d4 R13: 00000000004c0d07 R14: 00000000004d4828 R15: 00000000ffffffff