============================= [ BUG: Invalid wait context ] 6.13.0-rc1-syzkaller-00182-gb8f52214c61a #0 Not tainted ----------------------------- kworker/u8:1/12 is trying to lock: ffff88805e309200 (&trie->lock){....}-{3:3}, at: trie_delete_elem+0xb0/0x820 kernel/bpf/lpm_trie.c:462 other info that might help us debug this: context-{5:5} 4 locks held by kworker/u8:1/12: #0: ffff88803247a148 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_one_work+0x1293/0x1ba0 kernel/workqueue.c:3204 #1: ffffc90000117d80 ((work_completion)(&(&bat_priv->nc.work)->work)){+.+.}-{0:0}, at: process_one_work+0x921/0x1ba0 kernel/workqueue.c:3205 #2: ffff8880b862a898 (&base->lock){-.-.}-{2:2}, at: lock_timer_base+0x5d/0x220 kernel/time/timer.c:1050 #3: ffffffff8e1bb500 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #3: ffffffff8e1bb500 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #3: ffffffff8e1bb500 (rcu_read_lock){....}-{1:3}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2350 [inline] #3: ffffffff8e1bb500 (rcu_read_lock){....}-{1:3}, at: bpf_trace_run2+0x1c2/0x590 kernel/trace/bpf_trace.c:2392 stack backtrace: CPU: 0 UID: 0 PID: 12 Comm: kworker/u8:1 Not tainted 6.13.0-rc1-syzkaller-00182-gb8f52214c61a #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bat_events batadv_nc_worker Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 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+0x878/0x3c40 kernel/locking/lockdep.c:5176 lock_acquire.part.0+0x11b/0x380 kernel/locking/lockdep.c:5849 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162 trie_delete_elem+0xb0/0x820 kernel/bpf/lpm_trie.c:462 bpf_prog_ae0c3e605f35524c+0x46/0x4a 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:2351 [inline] bpf_trace_run2+0x231/0x590 kernel/trace/bpf_trace.c:2392 __bpf_trace_timer_start+0xc7/0x100 include/trace/events/timer.h:52 trace_timer_start include/trace/events/timer.h:52 [inline] enqueue_timer+0x2b0/0x550 kernel/time/timer.c:662 internal_add_timer kernel/time/timer.c:687 [inline] __mod_timer+0x8d7/0xdc0 kernel/time/timer.c:1182 add_timer_global+0x8a/0xc0 kernel/time/timer.c:1329 __queue_delayed_work+0x1ba/0x2e0 kernel/workqueue.c:2523 queue_delayed_work_on+0x12a/0x150 kernel/workqueue.c:2552 queue_delayed_work include/linux/workqueue.h:677 [inline] batadv_nc_start_timer net/batman-adv/network-coding.c:72 [inline] batadv_nc_worker+0xb08/0x1060 net/batman-adv/network-coding.c:741 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x6c8/0xf00 kernel/workqueue.c:3391 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244