BUG: sleeping function called from invalid context at mm/util.c:761 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1651, name: kcompactd0 1 lock held by kcompactd0/1651: #0: ffff88801b5c15f0 (&mapping->private_lock){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:359 [inline] #0: ffff88801b5c15f0 (&mapping->private_lock){+.+.}-{2:2}, at: __buffer_migrate_page+0x4c4/0xb10 mm/migrate.c:722 Preemption disabled at: [<0000000000000000>] 0x0 CPU: 0 PID: 1651 Comm: kcompactd0 Not tainted 5.14.0-rc2-next-20210721-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1d3/0x29f lib/dump_stack.c:105 ___might_sleep+0x4e5/0x6b0 kernel/sched/core.c:9182 folio_copy+0xf6/0x180 mm/util.c:761 folio_migrate_copy+0x19/0x30 mm/migrate.c:619 __buffer_migrate_page+0x90e/0xb10 mm/migrate.c:757 move_to_new_page+0x34a/0xd00 mm/migrate.c:904 __unmap_and_move+0x92d/0xdf0 mm/migrate.c:1069 unmap_and_move+0x321/0xd70 mm/migrate.c:1210 migrate_pages+0x55d/0x1740 mm/migrate.c:1487 compact_zone+0x2ce3/0x3cd0 mm/compaction.c:2393 kcompactd_do_work mm/compaction.c:2808 [inline] kcompactd+0x8df/0x26d0 mm/compaction.c:2903 kthread+0x453/0x480 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295