BUG: sleeping function called from invalid context at mm/page_alloc.c:4695 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 15073, name: syz-executor.3 2 locks held by syz-executor.3/15073: #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: 0 PID: 15073 Comm: syz-executor.3 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: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_caller+0x71/0x90 mm/vmalloc.c:2629 kvmalloc_node+0xdc/0x100 mm/util.c:583 kvmalloc include/linux/mm.h:655 [inline] kvzalloc include/linux/mm.h:663 [inline] drm_property_create_blob.part.0+0x32/0x320 drivers/gpu/drm/drm_property.c:567 drm_property_create_blob drivers/gpu/drm/drm_property.c:820 [inline] drm_mode_createblob_ioctl+0x135/0x490 drivers/gpu/drm/drm_property.c:796 drm_ioctl_kernel+0x244/0x300 drivers/gpu/drm/drm_ioctl.c:786 drm_ioctl+0x54e/0xa60 drivers/gpu/drm/drm_ioctl.c:886 vfs_ioctl fs/ioctl.c:47 [inline] file_ioctl fs/ioctl.c:545 [inline] do_vfs_ioctl+0x977/0x14e0 fs/ioctl.c:732 ksys_ioctl+0xab/0xd0 fs/ioctl.c:749 __do_sys_ioctl fs/ioctl.c:756 [inline] __se_sys_ioctl fs/ioctl.c:754 [inline] __x64_sys_ioctl+0x73/0xb0 fs/ioctl.c:754 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45a6f9 Code: Bad RIP value. RSP: 002b:00007f9278e41c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 000000000045a6f9 RDX: 00000000200000c0 RSI: ffffffffffffffbd RDI: 0000000000000003 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f9278e426d4 R13: 00000000004c1e2b R14: 00000000004d6e70 R15: 00000000ffffffff