BUG: sleeping function called from invalid context at mm/page_alloc.c:4695 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 3139, name: syz-executor.3 2 locks held by syz-executor.3/3139: #0: ffffffff89a40820 (vmap_purge_lock){+.+.}, at: try_purge_vmap_area_lazy mm/vmalloc.c:1331 [inline] #0: ffffffff89a40820 (vmap_purge_lock){+.+.}, at: free_vmap_area_noflush+0x2a6/0x390 mm/vmalloc.c:1368 #1: ffffffff89a409b8 (free_vmap_area_lock){+.+.}, at: spin_lock include/linux/spinlock.h:338 [inline] #1: ffffffff89a409b8 (free_vmap_area_lock){+.+.}, at: __purge_vmap_area_lazy+0x194/0x1ef0 mm/vmalloc.c:1298 Preemption disabled at: [] spin_lock include/linux/spinlock.h:338 [inline] [] __purge_vmap_area_lazy+0x194/0x1ef0 mm/vmalloc.c:1298 CPU: 1 PID: 3139 Comm: syz-executor.3 Not tainted 5.5.0-rc1-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:973 __purge_vmap_area_lazy+0xca5/0x1ef0 mm/vmalloc.c:1313 try_purge_vmap_area_lazy mm/vmalloc.c:1332 [inline] free_vmap_area_noflush+0x2c8/0x390 mm/vmalloc.c:1368 free_unmap_vmap_area mm/vmalloc.c:1381 [inline] remove_vm_area+0x1cf/0x230 mm/vmalloc.c:2209 vm_remove_mappings mm/vmalloc.c:2236 [inline] __vunmap+0x217/0x9b0 mm/vmalloc.c:2299 __vfree+0x41/0xd0 mm/vmalloc.c:2356 __vmalloc_area_node mm/vmalloc.c:2507 [inline] __vmalloc_node_range+0x5d8/0x810 mm/vmalloc.c:2547 __vmalloc_node mm/vmalloc.c:2607 [inline] __vmalloc_node_flags mm/vmalloc.c:2621 [inline] vmalloc+0x6b/0x90 mm/vmalloc.c:2646 do_replace_finish+0xe2/0x2220 net/bridge/netfilter/ebtables.c:981 do_replace+0x30b/0x490 net/bridge/netfilter/ebtables.c:1118 do_ebt_set_ctl+0xec/0x110 net/bridge/netfilter/ebtables.c:1469 nf_sockopt net/netfilter/nf_sockopt.c:106 [inline] nf_setsockopt+0x77/0xd0 net/netfilter/nf_sockopt.c:115 ip_setsockopt net/ipv4/ip_sockglue.c:1260 [inline] ip_setsockopt+0xdf/0x100 net/ipv4/ip_sockglue.c:1240 udp_setsockopt+0x68/0xb0 net/ipv4/udp.c:2639 sock_common_setsockopt+0x94/0xd0 net/core/sock.c:3149 __sys_setsockopt+0x261/0x4c0 net/socket.c:2117 __do_sys_setsockopt net/socket.c:2133 [inline] __se_sys_setsockopt net/socket.c:2130 [inline] __x64_sys_setsockopt+0xbe/0x150 net/socket.c:2130 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45a849 Code: Bad RIP value. RSP: 002b:00007fc34270cc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 000000000045a849 RDX: 0000000000000080 RSI: 0000000000000000 RDI: 0000000000000006 RBP: 000000000075c070 R08: 0000000000000258 R09: 0000000000000000 R10: 00000000200002c0 R11: 0000000000000246 R12: 00007fc34270d6d4 R13: 00000000004c9bfa R14: 00000000004e1c58 R15: 00000000ffffffff