============================================ WARNING: possible recursive locking detected syzkaller #0 Not tainted -------------------------------------------- syz.4.11979/5188 is trying to acquire lock: ffff888055046838 (rhashtable_bucket){-.-.}-{0:0}, at: rht_lock+0x8b/0x180 include/linux/rhashtable.h:331 but task is already holding lock: ffff888032ae5638 (rhashtable_bucket){-.-.}-{0:0}, at: rht_lock+0x8b/0x180 include/linux/rhashtable.h:331 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 9 locks held by syz.4.11979/5188: #0: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #0: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #0: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock_dont_migrate include/linux/rcupdate.h:982 [inline] #0: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: bpf_test_timer_enter+0xf6/0x260 net/bpf/test_run.c:39 #1: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #1: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #1: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: netif_receive_skb_list_internal+0x501/0xcf0 net/core/dev.c:6430 #2: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #2: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #2: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: ip6_input+0x23/0x270 net/ipv6/ip6_input.c:544 #3: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #3: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #3: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: ipv6_frag_rcv+0xb70/0x2aa0 net/ipv6/reassembly.c:382 #4: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #4: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #4: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: __rhashtable_insert_fast include/linux/rhashtable.h:774 [inline] #4: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rhashtable_lookup_get_insert_key include/linux/rhashtable.h:1044 [inline] #4: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: inet_frag_create net/ipv4/inet_fragment.c:398 [inline] #4: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: inet_frag_find+0xb22/0x1d90 net/ipv4/inet_fragment.c:426 #5: ffff888032ae5638 (rhashtable_bucket){-.-.}-{0:0}, at: rht_lock+0x8b/0x180 include/linux/rhashtable.h:331 #6: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #6: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #6: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: trace_call_bpf+0xb6/0xb80 kernel/trace/bpf_trace.c:-1 #7: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #7: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #7: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: class_rcu_constructor include/linux/rcupdate.h:1183 [inline] #7: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rhtab_map_delete_elem+0x21/0x190 kernel/bpf/hashtab.c:2979 #8: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline] #8: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline] #8: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: __rhashtable_remove_fast include/linux/rhashtable.h:1137 [inline] #8: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rhashtable_remove_fast include/linux/rhashtable.h:1175 [inline] #8: ffffffff8eb59c20 (rcu_read_lock){....}-{1:3}, at: rhtab_delete_elem+0x15c/0x1b30 kernel/bpf/hashtab.c:-1 stack backtrace: CPU: 1 UID: 0 PID: 5188 Comm: syz.4.11979 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_deadlock_bug+0x279/0x290 kernel/locking/lockdep.c:3041 check_deadlock kernel/locking/lockdep.c:3093 [inline] validate_chain kernel/locking/lockdep.c:3895 [inline] __lock_acquire+0x24df/0x2cf0 kernel/locking/lockdep.c:5237 lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868 rht_lock+0xa3/0x180 include/linux/rhashtable.h:331 __rhashtable_remove_fast_one include/linux/rhashtable.h:1065 [inline] __rhashtable_remove_fast include/linux/rhashtable.h:1146 [inline] rhashtable_remove_fast include/linux/rhashtable.h:1175 [inline] rhtab_delete_elem+0x404/0x1b30 kernel/bpf/hashtab.c:2954 rhtab_map_delete_elem+0xe2/0x190 kernel/bpf/hashtab.c:2985 bpf_prog_a4f1e23443ac9f8e+0x4e/0x56 bpf_dispatcher_nop_func include/linux/bpf.h:1450 [inline] __bpf_prog_run include/linux/filter.h:724 [inline] bpf_prog_run include/linux/filter.h:731 [inline] bpf_prog_run_array include/linux/bpf.h:2602 [inline] trace_call_bpf+0x3f0/0xb80 kernel/trace/bpf_trace.c:147 perf_trace_run_bpf_submit+0x78/0x170 kernel/events/core.c:11398 do_perf_trace_lock include/trace/events/lock.h:49 [inline] perf_trace_lock+0x32d/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:5879 rht_assign_unlock include/linux/rhashtable.h:431 [inline] __rhashtable_insert_fast include/linux/rhashtable.h:850 [inline] rhashtable_lookup_get_insert_key include/linux/rhashtable.h:1044 [inline] inet_frag_create net/ipv4/inet_fragment.c:398 [inline] inet_frag_find+0x1334/0x1d90 net/ipv4/inet_fragment.c:426 fq_find net/ipv6/reassembly.c:100 [inline] ipv6_frag_rcv+0xdd3/0x2aa0 net/ipv6/reassembly.c:383 ip6_protocol_deliver_rcu+0xe8c/0x1680 net/ipv6/ip6_input.c:479 ip6_input_finish+0x191/0x370 net/ipv6/ip6_input.c:534 NF_HOOK+0x336/0x3c0 include/linux/netfilter.h:318 ip6_input+0x16a/0x270 net/ipv6/ip6_input.c:545 dst_input include/net/dst.h:481 [inline] ip6_sublist_rcv_finish+0x1c5/0x240 net/ipv6/ip6_input.c:128 ip6_list_rcv_finish net/ipv6/ip6_input.c:185 [inline] ip6_sublist_rcv+0xa73/0xd70 net/ipv6/ip6_input.c:361 ipv6_list_rcv+0x3ef/0x440 net/ipv6/ip6_input.c:395 __netif_receive_skb_list_ptype net/core/dev.c:6255 [inline] __netif_receive_skb_list_core+0x5ff/0x830 net/core/dev.c:6302 __netif_receive_skb_list net/core/dev.c:6354 [inline] netif_receive_skb_list_internal+0x995/0xcf0 net/core/dev.c:6445 netif_receive_skb_list+0x67/0x480 net/core/dev.c:6497 xdp_recv_frames net/bpf/test_run.c:268 [inline] xdp_test_run_batch net/bpf/test_run.c:349 [inline] bpf_test_run_xdp_live+0x1875/0x1c20 net/bpf/test_run.c:378 bpf_prog_test_run_xdp+0x7d8/0x11d0 net/bpf/test_run.c:1463 bpf_prog_test_run+0x2c5/0x340 kernel/bpf/syscall.c:4794 __sys_bpf+0xa22/0xd90 kernel/bpf/syscall.c:6376 __do_sys_bpf kernel/bpf/syscall.c:6477 [inline] __se_sys_bpf kernel/bpf/syscall.c:6474 [inline] __x64_sys_bpf+0xba/0xd0 kernel/bpf/syscall.c:6474 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f7ad479e0d9 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f7ad56a7028 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 00007f7ad4a25fa0 RCX: 00007f7ad479e0d9 RDX: 0000000000000048 RSI: 0000200000000600 RDI: 000000000000000a RBP: 00007f7ad4835024 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f7ad4a26038 R14: 00007f7ad4a25fa0 R15: 00007fffd098ba88