BUG: sleeping function called from invalid context at ./include/linux/sched/mm.h:321 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 7793, name: syz.3.300 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 4 locks held by syz.3.300/7793: #0: ffff0000cdf79cf8 (&f->f_pos_lock){+.+.}-{4:4}, at: fdget_pos+0x20c/0x2a0 fs/file.c:1213 #1: ffff0000ddd11888 (&ovl_i_mutex_dir_key[depth]){++++}-{4:4}, at: wrap_directory_iterator+0x64/0xf4 fs/readdir.c:54 #2: ffff0000dbc00148 (&type->i_mutex_dir_key#21){.+.+}-{4:4}, at: iterate_dir+0x3b4/0x5f4 fs/readdir.c:101 #3: ffff800090127fa0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:330 CPU: 0 UID: 0 PID: 7793 Comm: syz.3.300 Not tainted 6.15.0-rc2-syzkaller-gc72692105976 #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 __might_resched+0x374/0x4d0 kernel/sched/core.c:8818 __might_sleep+0x90/0xe4 kernel/sched/core.c:8747 might_alloc include/linux/sched/mm.h:321 [inline] slab_pre_alloc_hook mm/slub.c:4102 [inline] slab_alloc_node mm/slub.c:4180 [inline] __do_kmalloc_node mm/slub.c:4330 [inline] __kmalloc_noprof+0xe8/0x54c mm/slub.c:4343 kmalloc_noprof include/linux/slab.h:909 [inline] ovl_cache_entry_new+0x50/0x574 fs/overlayfs/readdir.c:152 ovl_fill_lowest fs/overlayfs/readdir.c:211 [inline] ovl_fill_merge+0x2a4/0x6e4 fs/overlayfs/readdir.c:268 dir_emit include/linux/fs.h:3861 [inline] afs_dynroot_readdir_cells fs/afs/dynroot.c:310 [inline] afs_dynroot_readdir+0x678/0x978 fs/afs/dynroot.c:352 iterate_dir+0x46c/0x5f4 fs/readdir.c:108 ovl_dir_read+0xd8/0x418 fs/overlayfs/readdir.c:313 ovl_dir_read_merged+0x3dc/0x4c4 fs/overlayfs/readdir.c:379 ovl_cache_get fs/overlayfs/readdir.c:422 [inline] ovl_iterate+0xe20/0x1b50 fs/overlayfs/readdir.c:783 wrap_directory_iterator+0xa8/0xf4 fs/readdir.c:65 shared_ovl_iterate+0x30/0x40 fs/overlayfs/readdir.c:971 iterate_dir+0x46c/0x5f4 fs/readdir.c:108 __do_sys_getdents64 fs/readdir.c:403 [inline] __se_sys_getdents64 fs/readdir.c:389 [inline] __arm64_sys_getdents64+0x1c0/0x490 fs/readdir.c:389 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:744 el0t_64_sync_handler+0x84/0x108 arch/arm64/kernel/entry-common.c:762 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600