./strace-static-x86_64 -e \!wait4,clock_nanosleep,nanosleep -s 100 -x -f ./syz-executor2719259760 <...> Warning: Permanently added '10.128.1.142' (ED25519) to the list of known hosts. execve("./syz-executor2719259760", ["./syz-executor2719259760"], 0x7ffe797496e0 /* 10 vars */) = 0 brk(NULL) = 0x55558aaa7000 brk(0x55558aaa7d00) = 0x55558aaa7d00 arch_prctl(ARCH_SET_FS, 0x55558aaa7380) = 0 set_tid_address(0x55558aaa7650) = 5074 set_robust_list(0x55558aaa7660, 24) = 0 rseq(0x55558aaa7ca0, 0x20, 0, 0x53053053) = 0 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 readlink("/proc/self/exe", "/root/syz-executor2719259760", 4096) = 28 getrandom("\x56\x5e\xc1\x8a\x47\x2d\x75\x58", 8, GRND_NONBLOCK) = 8 brk(NULL) = 0x55558aaa7d00 brk(0x55558aac8d00) = 0x55558aac8d00 brk(0x55558aac9000) = 0x55558aac9000 mprotect(0x7f485afaf000, 16384, PROT_READ) = 0 mmap(0x1ffff000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x1ffff000 mmap(0x20000000, 16777216, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000000 mmap(0x21000000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x21000000 bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_LPM_TRIE, key_size=5, value_size=2, max_entries=4, map_flags=BPF_F_NO_PREALLOC|BPF_F_NUMA_NODE, inner_map_fd=-1, numa_node=0, map_name="", map_ifindex=0, btf_fd=-1, btf_key_type_id=0, btf_value_type_id=0, btf_vmlinux_value_type_id=0, map_extra=0}, 72) = 3 bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_UNSPEC, insn_cnt=12, insns=0x20000440, license=NULL, log_level=0, log_size=0, log_buf=NULL, kern_version=KERNEL_VERSION(0, 0, 0), prog_flags=0, prog_name="", prog_ifindex=0, expected_attach_type=BPF_CGROUP_INET_INGRESS, prog_btf_fd=-1, func_info_rec_size=0, func_info=NULL, func_info_cnt=0, line_info_rec_size=0, line_info=NULL, line_info_cnt=0, attach_btf_id=0, attach_prog_fd=0, fd_array=NULL}, 144) = -1 EFAULT (Bad address) bpf(BPF_PROG_LOAD, {prog_type=BPF_PROG_TYPE_RAW_TRACEPOINT, insn_cnt=12, insns=0x20000440, license="GPL", log_level=0, log_size=0, log_buf=NULL, kern_version=KERNEL_VERSION(0, 0, 0), prog_flags=0, prog_name="", prog_ifindex=0, expected_attach_type=BPF_CGROUP_INET_INGRESS, prog_btf_fd=-1, func_info_rec_size=0, func_info=NULL, func_info_cnt=0, line_info_rec_size=0, line_info=NULL, line_info_cnt=0, attach_btf_id=0, attach_prog_fd=0, fd_array=NULL}, 144) = 4 bpf(BPF_RAW_TRACEPOINT_OPEN, {raw_tracepoint={name="hrtimer_start", prog_fd=4}}, 16) = 5 bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_LPM_TRIE, key_size=256, value_size=253, max_entries=9, map_flags=BPF_F_NO_PREALLOC, inner_map_fd=1, map_name="", map_ifindex=0, btf_fd=-1, btf_key_type_id=0, btf_value_type_id=0, btf_vmlinux_value_type_id=0, map_extra=0}, 72) = 6 [ 71.938106][ T5074] [ 71.940559][ T5074] ====================================================== [ 71.947807][ T5074] WARNING: possible circular locking dependency detected [ 71.954911][ T5074] 6.8.0-syzkaller-05236-g443574b03387 #0 Not tainted [ 71.961584][ T5074] ------------------------------------------------------ [ 71.968688][ T5074] syz-executor271/5074 is trying to acquire lock: [ 71.975105][ T5074] ffff8880b9529470 (krc.lock){....}-{2:2}, at: kvfree_call_rcu+0x18a/0x790 [ 71.983766][ T5074] [ 71.983766][ T5074] but task is already holding lock: [ 71.991303][ T5074] ffff888029e171f8 (&trie->lock){-...}-{2:2}, at: trie_update_elem+0xcb/0xc10 [ 72.000218][ T5074] [ 72.000218][ T5074] which lock already depends on the new lock. [ 72.000218][ T5074] [ 72.010711][ T5074] [ 72.010711][ T5074] the existing dependency chain (in reverse order) is: [ 72.019832][ T5074] [ 72.019832][ T5074] -> #2 (&trie->lock){-...}-{2:2}: [ 72.027136][ T5074] lock_acquire+0x1e4/0x530 [ 72.032165][ T5074] _raw_spin_lock_irqsave+0xd5/0x120 [ 72.037988][ T5074] trie_delete_elem+0x96/0x6a0 [ 72.043298][ T5074] bpf_prog_2c29ac5cdc6b1842+0x42/0x46 [ 72.049281][ T5074] bpf_trace_run2+0x204/0x420 [ 72.054519][ T5074] enqueue_hrtimer+0x335/0x3a0 [ 72.059856][ T5074] hrtimer_start_range_ns+0xaa0/0xc60 [ 72.065767][ T5074] schedule_hrtimeout_range_clock+0x277/0x480 [ 72.072370][ T5074] do_sys_poll+0xe40/0x1330 [ 72.077413][ T5074] __se_sys_ppoll+0x2a0/0x330 [ 72.082624][ T5074] do_syscall_64+0xfb/0x240 [ 72.087659][ T5074] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 72.094104][ T5074] [ 72.094104][ T5074] -> #1 (hrtimer_bases.lock){-.-.}-{2:2}: [ 72.102019][ T5074] lock_acquire+0x1e4/0x530 [ 72.107048][ T5074] _raw_spin_lock_irqsave+0xd5/0x120 [ 72.112858][ T5074] hrtimer_start_range_ns+0xdf/0xc60 [ 72.118673][ T5074] kvfree_call_rcu+0x5e6/0x790 [ 72.123971][ T5074] rtnl_register_internal+0x482/0x590 [ 72.129881][ T5074] rtnl_register+0x36/0x80 [ 72.134827][ T5074] ip_rt_init+0x2f5/0x3a0 [ 72.139683][ T5074] ip_init+0xe/0x20 [ 72.144025][ T5074] inet_init+0x3d8/0x580 [ 72.148796][ T5074] do_one_initcall+0x238/0x830 [ 72.154094][ T5074] do_initcall_level+0x157/0x210 [ 72.159557][ T5074] do_initcalls+0x3f/0x80 [ 72.164406][ T5074] kernel_init_freeable+0x435/0x5d0 [ 72.170142][ T5074] kernel_init+0x1d/0x2a0 [ 72.175033][ T5074] ret_from_fork+0x4b/0x80 [ 72.179981][ T5074] ret_from_fork_asm+0x1a/0x30 [ 72.185275][ T5074] [ 72.185275][ T5074] -> #0 (krc.lock){....}-{2:2}: [ 72.192320][ T5074] validate_chain+0x18cb/0x58e0 [ 72.197729][ T5074] __lock_acquire+0x1346/0x1fd0 [ 72.203101][ T5074] lock_acquire+0x1e4/0x530 [ 72.208127][ T5074] _raw_spin_lock+0x2e/0x40 [ 72.213154][ T5074] kvfree_call_rcu+0x18a/0x790 [ 72.218442][ T5074] trie_update_elem+0x819/0xc10 [ 72.223824][ T5074] bpf_map_update_value+0x4d3/0x540 [ 72.229555][ T5074] generic_map_update_batch+0x60d/0x900 [ 72.235673][ T5074] bpf_map_do_batch+0x3e0/0x690 [ 72.241136][ T5074] __sys_bpf+0x377/0x810 [ 72.245901][ T5074] __x64_sys_bpf+0x7c/0x90 [ 72.250850][ T5074] do_syscall_64+0xfb/0x240 [ 72.256057][ T5074] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 72.262482][ T5074] [ 72.262482][ T5074] other info that might help us debug this: [ 72.262482][ T5074] [ 72.272709][ T5074] Chain exists of: [ 72.272709][ T5074] krc.lock --> hrtimer_bases.lock --> &trie->lock [ 72.272709][ T5074] [ 72.285058][ T5074] Possible unsafe locking scenario: [ 72.285058][ T5074] [ 72.292504][ T5074] CPU0 CPU1 [ 72.297871][ T5074] ---- ---- [ 72.303234][ T5074] lock(&trie->lock); [ 72.307493][ T5074] lock(hrtimer_bases.lock); [ 72.314692][ T5074] lock(&trie->lock); [ 72.321282][ T5074] lock(krc.lock); [ 72.325092][ T5074] [ 72.325092][ T5074] *** DEADLOCK *** [ 72.325092][ T5074] [ 72.333235][ T5074] 2 locks held by syz-executor271/5074: [ 72.338866][ T5074] #0: ffffffff8e131920 (rcu_read_lock){....}-{1:2}, at: bpf_map_update_value+0x3c4/0x540 [ 72.348810][ T5074] #1: ffff888029e171f8 (&trie->lock){-...}-{2:2}, at: trie_update_elem+0xcb/0xc10 [ 72.358240][ T5074] [ 72.358240][ T5074] stack backtrace: [ 72.364124][ T5074] CPU: 1 PID: 5074 Comm: syz-executor271 Not tainted 6.8.0-syzkaller-05236-g443574b03387 #0 [ 72.374188][ T5074] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024 [ 72.384272][ T5074] Call Trace: [ 72.387560][ T5074] [ 72.390500][ T5074] dump_stack_lvl+0x1e7/0x2e0 [ 72.395214][ T5074] ? __pfx_dump_stack_lvl+0x10/0x10 [ 72.400446][ T5074] ? print_circular_bug+0x130/0x1a0 [ 72.405671][ T5074] check_noncircular+0x36a/0x4a0 [ 72.410637][ T5074] ? __pfx_check_noncircular+0x10/0x10 [ 72.416109][ T5074] ? lockdep_lock+0x123/0x2b0 [ 72.420814][ T5074] ? mark_lock+0x9a/0x350 [ 72.425152][ T5074] ? _find_first_zero_bit+0xd4/0x100 [ 72.430467][ T5074] validate_chain+0x18cb/0x58e0 [ 72.435359][ T5074] ? __pfx_validate_chain+0x10/0x10 [ 72.440563][ T5074] ? stack_depot_save_flags+0x37d/0x860 [ 72.446132][ T5074] ? do_raw_spin_lock+0x14f/0x370 [ 72.451187][ T5074] ? __pfx_lock_release+0x10/0x10 [ 72.456242][ T5074] ? do_raw_spin_unlock+0x13c/0x8b0 [ 72.461460][ T5074] ? _raw_spin_unlock_irqrestore+0xdd/0x140 [ 72.467374][ T5074] ? __pfx__raw_spin_unlock_irqrestore+0x10/0x10 [ 72.473813][ T5074] ? stack_trace_save+0x118/0x1d0 [ 72.479306][ T5074] ? mark_lock+0x9a/0x350 [ 72.483676][ T5074] __lock_acquire+0x1346/0x1fd0 [ 72.488573][ T5074] lock_acquire+0x1e4/0x530 [ 72.493103][ T5074] ? kvfree_call_rcu+0x18a/0x790 [ 72.498082][ T5074] ? __pfx_lock_acquire+0x10/0x10 [ 72.503122][ T5074] ? __phys_addr+0xba/0x170 [ 72.507833][ T5074] _raw_spin_lock+0x2e/0x40 [ 72.512365][ T5074] ? kvfree_call_rcu+0x18a/0x790 [ 72.517356][ T5074] kvfree_call_rcu+0x18a/0x790 [ 72.522169][ T5074] ? __kmalloc_node+0x26e/0x4e0 [ 72.527064][ T5074] ? bpf_map_kmalloc_node+0xd3/0x1c0 [ 72.532365][ T5074] ? __pfx_kvfree_call_rcu+0x10/0x10 [ 72.537682][ T5074] ? longest_prefix_match+0x2eb/0x670 [ 72.543070][ T5074] trie_update_elem+0x819/0xc10 [ 72.547969][ T5074] bpf_map_update_value+0x4d3/0x540 [ 72.553205][ T5074] generic_map_update_batch+0x60d/0x900 [ 72.558795][ T5074] ? __pfx_generic_map_update_batch+0x10/0x10 [ 72.564919][ T5074] ? __pfx_generic_map_update_batch+0x10/0x10 [ 72.571046][ T5074] bpf_map_do_batch+0x3e0/0x690 [ 72.575935][ T5074] __sys_bpf+0x377/0x810 [ 72.580195][ T5074] ? __pfx___sys_bpf+0x10/0x10 [ 72.584981][ T5074] ? __pfx_lockdep_hardirqs_on_prepare+0x10/0x10 [ 72.591319][ T5074] ? do_syscall_64+0x10a/0x240 [ 72.596099][ T5074] __x64_sys_bpf+0x7c/0x90 [ 72.600523][ T5074] do_syscall_64+0xfb/0x240 [ 72.605038][ T5074] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 72.610959][ T5074] RIP: 0033:0x7f485af3c8e9 [ 72.615399][ T5074] Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 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 b8 ff ff ff f7 d8 64 89 01 48 [ 72.635019][ T5074] RSP: 002b:00007ffc5f419378 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 [ 72.643440][ T5074] RAX: ffffffffffffffda RBX: 00007ffc5f419548 RCX: 00007f485af3c8e9 [ 72.651437][ T5074] RDX: 0000000000000038 RSI: 0000000020000000 RDI: 000000000000001a [ 72.659412][ T5074] RBP: 00007f485afaf610 R08: 00007ffc5f419548 R09: 00007ffc5f419548 [ 72.667390][ T5074] R10: 00007ffc5f419548 R11: 0000000000000246 R12: 0000000000000001 [ 72.675402][ T5074] R13: 00007ffc5f419538 R14: 0000000000000001 R15: 0000000000000001 [ 72.683381][ T5074] bpf(BPF_MAP_UPDATE_BATCH, {batch={keys=0x20000000, values=0x20000000, count=53237, map_fd=6, elem_flags=BPF_ANY, flags=0}}, 56) = 0 exit_group(0) = ? +++ exited with 0 +++