============================= [ BUG: Invalid wait context ] 6.12.0-next-20241126-syzkaller #0 Not tainted ----------------------------- syz.3.1018/9387 is trying to lock: ffffffff8eabc918 (kernfs_rename_lock){....}-{3:3}, at: kernfs_path_from_node+0x92/0xb00 fs/kernfs/dir.c:229 other info that might help us debug this: context-{5:5} 5 locks held by syz.3.1018/9387: #0: ffffffff8fcb47c8 (rtnl_mutex){+.+.}-{4:4}, at: tun_detach drivers/net/tun.c:698 [inline] #0: ffffffff8fcb47c8 (rtnl_mutex){+.+.}-{4:4}, at: tun_chr_close+0x3b/0x1b0 drivers/net/tun.c:3517 #1: ffffffff8e93cff8 (rcu_state.exp_mutex){+.+.}-{4:4}, at: exp_funnel_lock kernel/rcu/tree_exp.h:297 [inline] #1: ffffffff8e93cff8 (rcu_state.exp_mutex){+.+.}-{4:4}, at: synchronize_rcu_expedited+0x381/0x830 kernel/rcu/tree_exp.h:976 #2: ffff8880b863e8d8 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0xb0/0x140 kernel/sched/core.c:606 #3: ffffffff8e937ae0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #3: ffffffff8e937ae0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #3: ffffffff8e937ae0 (rcu_read_lock){....}-{1:3}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2351 [inline] #3: ffffffff8e937ae0 (rcu_read_lock){....}-{1:3}, at: bpf_trace_run2+0x1fc/0x540 kernel/trace/bpf_trace.c:2393 #4: ffff8880582fefe0 (&mm->mmap_lock){++++}-{4:4}, at: mmap_read_trylock include/linux/mmap_lock.h:208 [inline] #4: ffff8880582fefe0 (&mm->mmap_lock){++++}-{4:4}, at: stack_map_get_build_id_offset+0x431/0x870 kernel/bpf/stackmap.c:157 stack backtrace: CPU: 0 UID: 0 PID: 9387 Comm: syz.3.1018 Not tainted 6.12.0-next-20241126-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_lock_invalid_wait_context kernel/locking/lockdep.c:4826 [inline] check_wait_context kernel/locking/lockdep.c:4898 [inline] __lock_acquire+0x15a8/0x2100 kernel/locking/lockdep.c:5176 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5849 __raw_read_lock_irqsave include/linux/rwlock_api_smp.h:160 [inline] _raw_read_lock_irqsave+0xdd/0x130 kernel/locking/spinlock.c:236 kernfs_path_from_node+0x92/0xb00 fs/kernfs/dir.c:229 kernfs_path include/linux/kernfs.h:598 [inline] cgroup_path include/linux/cgroup.h:599 [inline] get_mm_memcg_path+0x95/0x350 mm/mmap_lock.c:59 __mmap_lock_do_trace_acquire_returned+0xfc/0x300 mm/mmap_lock.c:79 __mmap_lock_trace_acquire_returned include/linux/mmap_lock.h:36 [inline] mmap_read_trylock include/linux/mmap_lock.h:209 [inline] stack_map_get_build_id_offset+0x84d/0x870 kernel/bpf/stackmap.c:157 __bpf_get_stack+0x8da/0xad0 kernel/bpf/stackmap.c:483 ____bpf_get_stack kernel/bpf/stackmap.c:499 [inline] bpf_get_stack+0x33/0x50 kernel/bpf/stackmap.c:496 ____bpf_get_stack_raw_tp kernel/trace/bpf_trace.c:1945 [inline] bpf_get_stack_raw_tp+0x1a3/0x240 kernel/trace/bpf_trace.c:1935 bpf_prog_ec3b2eefa702d8d3+0x43/0x47 bpf_dispatcher_nop_func include/linux/bpf.h:1290 [inline] __bpf_prog_run include/linux/filter.h:701 [inline] bpf_prog_run include/linux/filter.h:708 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2352 [inline] bpf_trace_run2+0x2ec/0x540 kernel/trace/bpf_trace.c:2393 trace_tlb_flush+0x118/0x140 include/trace/events/tlb.h:38 switch_mm_irqs_off+0x77e/0xa70 context_switch kernel/sched/core.c:5353 [inline] __schedule+0x10c8/0x4c30 kernel/sched/core.c:6756 __schedule_loop kernel/sched/core.c:6833 [inline] schedule+0x14b/0x320 kernel/sched/core.c:6848 synchronize_rcu_expedited+0x684/0x830 kernel/rcu/tree_exp.h:991 synchronize_rcu+0x11b/0x360 kernel/rcu/tree.c:4105 lockdep_unregister_key+0x556/0x610 kernel/locking/lockdep.c:6597 __qdisc_destroy+0x165/0x410 net/sched/sch_generic.c:1085 netdev_for_each_tx_queue include/linux/netdevice.h:2562 [inline] dev_shutdown+0x9b/0x450 net/sched/sch_generic.c:1496 unregister_netdevice_many_notify+0x995/0x1da0 net/core/dev.c:11509 unregister_netdevice_many net/core/dev.c:11584 [inline] unregister_netdevice_queue+0x303/0x370 net/core/dev.c:11456 unregister_netdevice include/linux/netdevice.h:3192 [inline] __tun_detach+0x6b9/0x1600 drivers/net/tun.c:685 tun_detach drivers/net/tun.c:701 [inline] tun_chr_close+0x105/0x1b0 drivers/net/tun.c:3517 __fput+0x23c/0xa50 fs/file_table.c:450 task_work_run+0x24f/0x310 kernel/task_work.c:239 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x13f/0x340 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fe1a197e819 Code: Unable to access opcode bytes at 0x7fe1a197e7ef. RSP: 002b:00007ffc20b943d8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 00007fe1a1b37ba0 RCX: 00007fe1a197e819 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007fe1a1b37ba0 R08: 00000000000000c4 R09: 00007ffc20b946cf R10: 00000000003ffd20 R11: 0000000000000246 R12: 000000000005719b R13: 00007fe1a1b36080 R14: 0000000000000032 R15: ffffffffffffffff