BUG: sleeping function called from invalid context at mm/vmalloc.c:3409 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6163, name: udevd preempt_count: 1, expected: 0 RCU nest depth: 0, expected: 0 2 locks held by udevd/6163: #0: ffff0000c907eb78 (&f->f_pos_lock){+.+.}-{4:4}, at: fdget_pos+0x1fc/0x2a0 fs/file.c:1232 #1: ffff0000e44cd568 (&type->i_mutex_dir_key#4){++++}-{4:4}, at: iterate_dir+0x224/0x478 fs/readdir.c:101 Preemption disabled at: [] preempt_schedule_irq+0x70/0x188 kernel/sched/core.c:7286 CPU: 0 UID: 0 PID: 6163 Comm: udevd Not tainted 6.17.0-rc1-syzkaller-g8f5ae30d69d7 #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 __might_resched+0x348/0x4c4 kernel/sched/core.c:8957 __might_sleep+0x94/0x110 kernel/sched/core.c:8886 vfree+0xa0/0x3dc mm/vmalloc.c:3409 kvfree+0x24/0x40 mm/slub.c:5093 futex_hash_free+0x84/0x9c kernel/futex/core.c:1742 __mmdrop+0x2c0/0x4ec kernel/fork.c:692 mmdrop include/linux/sched/mm.h:55 [inline] mmdrop_sched include/linux/sched/mm.h:83 [inline] mmdrop_lazy_tlb_sched include/linux/sched/mm.h:110 [inline] finish_task_switch+0x4a0/0x5a4 kernel/sched/core.c:5250 context_switch kernel/sched/core.c:5360 [inline] __schedule+0x13b4/0x2864 kernel/sched/core.c:6961 preempt_schedule_irq+0x80/0x188 kernel/sched/core.c:7288 arm64_preempt_schedule_irq+0x44/0x58 arch/arm64/kernel/entry-common.c:305 __el1_irq arch/arm64/kernel/entry-common.c:656 [inline] el1_interrupt+0x3c/0x54 arch/arm64/kernel/entry-common.c:668 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:673 el1h_64_irq+0x6c/0x70 arch/arm64/kernel/entry.S:592 __daif_local_irq_restore arch/arm64/include/asm/irqflags.h:175 [inline] (P) arch_local_irq_restore arch/arm64/include/asm/irqflags.h:195 [inline] (P) seqcount_lockdep_reader_access+0xe4/0x104 include/linux/seqlock.h:74 (P) ktime_get_coarse_real_ts64_mg+0x70/0x1dc kernel/time/timekeeping.c:2430 current_time+0x90/0x2f4 fs/inode.c:2252 atime_needs_update+0x2b0/0x5e8 fs/inode.c:2114 touch_atime+0x94/0x818 fs/inode.c:2131 file_accessed include/linux/fs.h:2663 [inline] iterate_dir+0x344/0x478 fs/readdir.c:111 __do_sys_getdents64 fs/readdir.c:410 [inline] __se_sys_getdents64 fs/readdir.c:396 [inline] __arm64_sys_getdents64+0x110/0x2fc fs/readdir.c:396 __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+0x58/0x180 arch/arm64/kernel/entry-common.c:879 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:898 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:596