============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- kworker/1:7/14584 is trying to acquire lock: ffff8880646f0838 (rhashtable_bucket){..-.}-{0:0}, at: rht_lock+0x8b/0x180 include/linux/rhashtable.h:330 but task is already holding lock: ffff8880646f0838 (rhashtable_bucket){..-.}-{0:0}, at: rht_lock+0x8b/0x180 include/linux/rhashtable.h:330 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(rhashtable_bucket); lock(rhashtable_bucket); *** DEADLOCK *** May be due to missing lock nesting notation locks held by kworker/1:7/14584: 7, last CPU#1: #0: ffff88801b02b140 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3297 [inline] #0: ffff88801b02b140 ((wq_completion)events){+.+.}-{0:0}, at: process_scheduled_works+0xa1a/0x14c0 kernel/workqueue.c:3405 #1: ffffc9000320fc40 ((work_completion)(&ht->run_work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3297 [inline] #1: ffffc9000320fc40 ((work_completion)(&ht->run_work)){+.+.}-{0:0}, at: process_scheduled_works+0xa1a/0x14c0 kernel/workqueue.c:3405 #2: ffff8880635b4af0 (&ht->mutex#15){+.+.}-{4:4}, at: rht_deferred_worker+0x43/0x2250 lib/rhashtable.c:433 #3: ffff8880646f0838 (rhashtable_bucket){..-.}-{0:0}, at: rht_lock+0x8b/0x180 include/linux/rhashtable.h:330 #4: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #4: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #4: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: trace_call_bpf+0xb4/0xb80 kernel/trace/bpf_trace.c:-1 #5: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #5: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #5: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: class_rcu_constructor include/linux/rcupdate.h:1183 [inline] #5: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rhtab_map_delete_elem+0x21/0x190 kernel/bpf/hashtab.c:2978 #6: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #6: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #6: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: __rhashtable_remove_fast include/linux/rhashtable.h:1136 [inline] #6: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rhashtable_remove_fast include/linux/rhashtable.h:1174 [inline] #6: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: rhtab_delete_elem+0x15a/0x1b00 kernel/bpf/hashtab.c:-1 stack backtrace: CPU: 1 UID: 0 PID: 14584 Comm: kworker/1:7 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Workqueue: events rht_deferred_worker Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_deadlock_bug+0x279/0x290 kernel/locking/lockdep.c:3057 check_deadlock kernel/locking/lockdep.c:3109 [inline] validate_chain kernel/locking/lockdep.c:3911 [inline] __lock_acquire+0x24df/0x2cf0 kernel/locking/lockdep.c:5253 lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5886 rht_lock+0xa3/0x180 include/linux/rhashtable.h:330 __rhashtable_remove_fast_one include/linux/rhashtable.h:1064 [inline] __rhashtable_remove_fast include/linux/rhashtable.h:1145 [inline] rhashtable_remove_fast include/linux/rhashtable.h:1174 [inline] rhtab_delete_elem+0x3dd/0x1b00 kernel/bpf/hashtab.c:2954 rhtab_map_delete_elem+0xe2/0x190 kernel/bpf/hashtab.c:2984 bpf_prog_a4f1e23443ac9f8e+0x4e/0x56 bpf_dispatcher_nop_func include/linux/bpf.h:1451 [inline] __bpf_prog_run include/linux/filter.h:779 [inline] bpf_prog_run include/linux/filter.h:786 [inline] bpf_prog_run_array include/linux/bpf.h:2602 [inline] trace_call_bpf+0x3f1/0xb80 kernel/trace/bpf_trace.c:147 perf_trace_run_bpf_submit+0x78/0x170 kernel/events/core.c:11428 do_perf_trace_lock include/trace/events/lock.h:49 [inline] perf_trace_lock+0x32e/0x410 include/trace/events/lock.h:49 __do_trace_lock_release include/trace/events/lock.h:68 [inline] trace_lock_release include/trace/events/lock.h:68 [inline] lock_release+0x38e/0x3c0 kernel/locking/lockdep.c:5897 rht_unlock+0x26/0x140 include/linux/rhashtable.h:352 rhashtable_rehash_chain lib/rhashtable.c:307 [inline] rhashtable_rehash_table lib/rhashtable.c:342 [inline] rht_deferred_worker+0x184a/0x2250 lib/rhashtable.c:448 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa88/0x14c0 kernel/workqueue.c:3405 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486 kthread+0x38b/0x480 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245