BUG: sleeping function called from invalid context at ./include/linux/sched/mm.h:321 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 8647, name: syz.2.731 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 4 locks held by syz.2.731/8647: #0: ffff88804a430d38 (&f->f_pos_lock){+.+.}-{4:4}, at: fdget_pos+0x2a2/0x370 fs/file.c:1213 #1: ffff88806d8f0b88 (&type->i_mutex_dir_key#9){.+.+}-{4:4}, at: iterate_dir+0x18b/0xb40 fs/readdir.c:101 #2: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8e1be140 (rcu_read_lock){....}-{1:3}, at: afs_dynroot_readdir+0x619/0xf50 fs/afs/dynroot.c:351 #3: ffff88804d8a1fe0 (&mm->mmap_lock){++++}-{4:4}, at: mmap_read_trylock include/linux/mmap_lock.h:209 [inline] #3: ffff88804d8a1fe0 (&mm->mmap_lock){++++}-{4:4}, at: get_mmap_lock_carefully mm/memory.c:6237 [inline] #3: ffff88804d8a1fe0 (&mm->mmap_lock){++++}-{4:4}, at: lock_mm_and_find_vma+0x35/0x6e0 mm/memory.c:6297 CPU: 3 UID: 0 PID: 8647 Comm: syz.2.731 Not tainted 6.14.0-syzkaller-03565-gf6e0150b2003 #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x16c/0x1f0 lib/dump_stack.c:120 __might_resched+0x3c0/0x5e0 kernel/sched/core.c:8797 might_alloc include/linux/sched/mm.h:321 [inline] prepare_alloc_pages.constprop.0+0x3da/0x570 mm/page_alloc.c:4513 __alloc_frozen_pages_noprof+0x18f/0x24d0 mm/page_alloc.c:4729 alloc_pages_mpol+0x1fb/0x540 mm/mempolicy.c:2301 folio_alloc_mpol_noprof+0x36/0x2f0 mm/mempolicy.c:2320 vma_alloc_folio_noprof+0xed/0x1e0 mm/mempolicy.c:2355 folio_prealloc mm/memory.c:1060 [inline] alloc_anon_folio mm/memory.c:4834 [inline] do_anonymous_page mm/memory.c:4891 [inline] do_pte_missing+0x2049/0x3ea0 mm/memory.c:4057 handle_pte_fault mm/memory.c:5888 [inline] __handle_mm_fault+0x1043/0x2a50 mm/memory.c:6031 handle_mm_fault+0x3fa/0xaa0 mm/memory.c:6200 do_user_addr_fault+0x7a9/0x1430 arch/x86/mm/fault.c:1388 handle_page_fault arch/x86/mm/fault.c:1480 [inline] exc_page_fault+0x5c/0xc0 arch/x86/mm/fault.c:1538 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0010:compat_filldir+0x292/0x650 fs/readdir.c:537 Code: 7c 24 38 00 0f 85 b5 02 00 00 e8 a9 e9 85 ff 0f 01 cb 0f ae e8 8b 44 24 08 41 89 47 04 e8 96 e9 85 ff 4c 8b 7c 24 30 8b 04 24 <41> 89 07 e8 86 e9 85 ff 66 45 89 67 08 e8 7c e9 85 ff 49 63 cc 0f RSP: 0018:ffffc90020f07c58 EFLAGS: 00050283 RAX: 0000000000000005 RBX: ffffc90020f07e70 RCX: ffffc9000c803000 RDX: 0000000000080000 RSI: ffffffff823517ea RDI: 0000000000000006 RBP: 0000000000000006 R08: 0000000000000006 R09: 0000000080001ff0 R10: 0000000080002014 R11: 0000000000000000 R12: 0000000000000014 R13: 0000000080002014 R14: ffffc90020f07e8c R15: 0000000080002000 dir_emit include/linux/fs.h:3853 [inline] afs_dynroot_readdir_cells fs/afs/dynroot.c:310 [inline] afs_dynroot_readdir+0x9bb/0xf50 fs/afs/dynroot.c:352 iterate_dir+0x293/0xb40 fs/readdir.c:108 __do_compat_sys_getdents fs/readdir.c:568 [inline] __se_compat_sys_getdents fs/readdir.c:554 [inline] __ia32_compat_sys_getdents+0x14d/0x2c0 fs/readdir.c:554 do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline] __do_fast_syscall_32+0x73/0x120 arch/x86/entry/syscall_32.c:306 do_fast_syscall_32+0x32/0x80 arch/x86/entry/syscall_32.c:331 entry_SYSENTER_compat_after_hwframe+0x84/0x8e RIP: 0023:0xf746e579 Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00 RSP: 002b:00000000f50f655c EFLAGS: 00000296 ORIG_RAX: 000000000000008d RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 0000000080001fc0 RDX: 00000000000000b8 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 ---------------- Code disassembly (best guess): 0: 7c 24 jl 0x26 2: 38 00 cmp %al,(%rax) 4: 0f 85 b5 02 00 00 jne 0x2bf a: e8 a9 e9 85 ff call 0xff85e9b8 f: 0f 01 cb stac 12: 0f ae e8 lfence 15: 8b 44 24 08 mov 0x8(%rsp),%eax 19: 41 89 47 04 mov %eax,0x4(%r15) 1d: e8 96 e9 85 ff call 0xff85e9b8 22: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 27: 8b 04 24 mov (%rsp),%eax * 2a: 41 89 07 mov %eax,(%r15) <-- trapping instruction 2d: e8 86 e9 85 ff call 0xff85e9b8 32: 66 45 89 67 08 mov %r12w,0x8(%r15) 37: e8 7c e9 85 ff call 0xff85e9b8 3c: 49 63 cc movslq %r12d,%rcx 3f: 0f .byte 0xf