BUG: sleeping function called from invalid context at ./include/linux/sched/mm.h:321 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 6040, name: syz.3.8 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 4 locks held by syz.3.8/6040: #0: ffff888035923eb8 ( &f->f_pos_lock ){+.+.}-{4:4} , at: fdget_pos+0x2a2/0x370 fs/file.c:1213 #1: ffff888033220148 (&type->i_mutex_dir_key #8 ){.+.+}-{4:4}, at: iterate_dir+0x18b/0xb40 fs/readdir.c:101 #2: ffffffff8e3c1580 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8e3c1580 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8e3c1580 (rcu_read_lock){....}-{1:3}, at: afs_dynroot_readdir+0x619/0xf50 fs/afs/dynroot.c:351 #3: ffff888032f80be0 (&mm->mmap_lock){++++}-{4:4}, at: mmap_read_trylock include/linux/mmap_lock.h:203 [inline] #3: ffff888032f80be0 (&mm->mmap_lock){++++}-{4:4}, at: get_mmap_lock_carefully mm/memory.c:6346 [inline] #3: ffff888032f80be0 (&mm->mmap_lock){++++}-{4:4}, at: lock_mm_and_find_vma+0x35/0x6e0 mm/memory.c:6406 CPU: 1 UID: 0 PID: 6040 Comm: syz.3.8 Not tainted 6.14.0-syzkaller-13552-gdda888789496 #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:8818 might_alloc include/linux/sched/mm.h:321 [inline] prepare_alloc_pages+0x413/0x610 mm/page_alloc.c:4702 __alloc_frozen_pages_noprof+0x18f/0x23a0 mm/page_alloc.c:4923 alloc_pages_mpol+0x1fb/0x550 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:1054 [inline] alloc_anon_folio mm/memory.c:4943 [inline] do_anonymous_page mm/memory.c:5000 [inline] do_pte_missing+0x223d/0x3fb0 mm/memory.c:4158 handle_pte_fault mm/memory.c:5997 [inline] __handle_mm_fault+0x103d/0x2a40 mm/memory.c:6140 handle_mm_fault+0x3fe/0xad0 mm/memory.c:6309 do_user_addr_fault+0x7a6/0x1370 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:filldir+0x2b7/0x5f0 fs/readdir.c:292 Code: e8 7e 3e 83 ff 0f 01 cb 0f ae e8 48 8b 04 24 49 89 47 08 e8 6b 3e 83 ff 4c 8b 7c 24 30 48 8b 44 24 10 49 89 07 e8 59 3e 83 ff <66> 45 89 6f 10 e8 4f 3e 83 ff 49 63 f5 0f b6 7c 24 1c 48 89 34 24 RSP: 0018:ffffc90003a57c68 EFLAGS: 00050283 RAX: 00000000000003b3 RBX: ffffc90003a57e80 RCX: ffffc90007291000 RDX: 0000000000080000 RSI: ffffffff8237ff67 RDI: 0000000000000006 RBP: 0000200000002008 R08: 0000000000000006 R09: 0000200000001fd8 R10: 0000200000002008 R11: 0000000000000000 R12: 0000000000000003 R13: 0000000000000018 R14: ffff888029a8ec41 R15: 0000200000001ff0 dir_emit include/linux/fs.h:3861 [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_sys_getdents fs/readdir.c:322 [inline] __se_sys_getdents fs/readdir.c:308 [inline] __x64_sys_getdents+0x14d/0x2c0 fs/readdir.c:308 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0e5658d169 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f0e57444038 EFLAGS: 00000246 ORIG_RAX: 000000000000004e RAX: ffffffffffffffda RBX: 00007f0e567a5fa0 RCX: 00007f0e5658d169 RDX: 00000000000000b8 RSI: 0000200000001fc0 RDI: 0000000000000005 RBP: 00007f0e5660e2a0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f0e567a5fa0 R15: 00007fff0667fa38 ---------------- Code disassembly (best guess): 0: e8 7e 3e 83 ff call 0xff833e83 5: 0f 01 cb stac 8: 0f ae e8 lfence b: 48 8b 04 24 mov (%rsp),%rax f: 49 89 47 08 mov %rax,0x8(%r15) 13: e8 6b 3e 83 ff call 0xff833e83 18: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 1d: 48 8b 44 24 10 mov 0x10(%rsp),%rax 22: 49 89 07 mov %rax,(%r15) 25: e8 59 3e 83 ff call 0xff833e83 * 2a: 66 45 89 6f 10 mov %r13w,0x10(%r15) <-- trapping instruction 2f: e8 4f 3e 83 ff call 0xff833e83 34: 49 63 f5 movslq %r13d,%rsi 37: 0f b6 7c 24 1c movzbl 0x1c(%rsp),%edi 3c: 48 89 34 24 mov %rsi,(%rsp)