Re: [PATCH v5 0/2] Fix two tailcall-related issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 4, 2025 at 9:35 AM jianghaoran <jianghaoran@xxxxxxxxxx> wrote:
>
>
>
>
>
> 在 2025-08-03星期日的 22:25 +0800,Huacai Chen写道:
> > Hi, Haoran,
> >
> > I think the first patch should be backported to stable branches
> > and
> > the second depends on trampoline, right?
> >
> > Huacai
> >
>
> That's the case.
OK, applied.

Huacai
> >
> > On Thu, Jul 31, 2025 at 3:51 PM Haoran Jiang <
> jianghaoran@xxxxxxxxxx> > wrote:
> > >
> > > v5:
> > > 1,The format and comments have been modified.
> > >
> > > v4:
> > > 1,There is a conflict when merging these two patches on the basis of the trampoline series patches, resolve the conflict issue.
> > >
> > > v3:
> > > 1,In the prepare_bpf_tail_call_cnt function, emit_tailcall_jmp is replaced with emit_cond_jmp.
> > > 2,Fix the issue where test cases using fentry/fexit fail.
> > >
> > > Test after merging these two patches and the following trampoline series patches.
> https://lore.kernel.org/loongarch/CAK3+h2zirm6cV2tAbd38RSYSF3=B1qZ+9jm_GZPsAPrMtaozmg@xxxxxxxxxxxxxx/T/#mf1f1c9f965d5229c6d2dce3b1ca8bc9a5d70520d> >
> > >
> > > ./test_progs -a tailcalls
> > > #413/1   tailcalls/tailcall_1:OK
> > > #413/2   tailcalls/tailcall_2:OK
> > > #413/3   tailcalls/tailcall_3:OK
> > > #413/4   tailcalls/tailcall_4:OK
> > > #413/5   tailcalls/tailcall_5:OK
> > > #413/6   tailcalls/tailcall_6:OK
> > > #413/7   tailcalls/tailcall_bpf2bpf_1:OK
> > > #413/8   tailcalls/tailcall_bpf2bpf_2:OK
> > > #413/9   tailcalls/tailcall_bpf2bpf_3:OK
> > > #413/10  tailcalls/tailcall_bpf2bpf_4:OK
> > > #413/11  tailcalls/tailcall_bpf2bpf_5:OK
> > > #413/12  tailcalls/tailcall_bpf2bpf_6:OK
> > > #413/13  tailcalls/tailcall_bpf2bpf_fentry:OK
> > > #413/14  tailcalls/tailcall_bpf2bpf_fexit:OK
> > > #413/15  tailcalls/tailcall_bpf2bpf_fentry_fexit:OK
> > > #413/16  tailcalls/tailcall_bpf2bpf_fentry_entry:OK
> > > #413/17  tailcalls/tailcall_poke:OK
> > > #413/18  tailcalls/tailcall_bpf2bpf_hierarchy_1:OK
> > > #413/19  tailcalls/tailcall_bpf2bpf_hierarchy_fentry:OK
> > > #413/20  tailcalls/tailcall_bpf2bpf_hierarchy_fexit:OK
> > > #413/21  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_fexit:OK
> > > #413/22  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_entry:OK
> > > #413/23  tailcalls/tailcall_bpf2bpf_hierarchy_2:OK
> > > #413/24  tailcalls/tailcall_bpf2bpf_hierarchy_3:OK
> > > #413/25  tailcalls/tailcall_freplace:OK
> > > #413/26  tailcalls/tailcall_bpf2bpf_freplace:OK
> > > #413/27  tailcalls/tailcall_failure:OK
> > > #413/28  tailcalls/reject_tail_call_spin_lock:OK
> > > #413/29  tailcalls/reject_tail_call_rcu_lock:OK
> > > #413/30  tailcalls/reject_tail_call_preempt_lock:OK
> > > #413/31  tailcalls/reject_tail_call_ref:OK
> > > #413     tailcalls:OK
> > > Summary: 1/31 PASSED, 0 SKIPPED, 0 FAILED
> > >
> > >
> > > v2:
> > > 1,Add a Fixes tag.
> > > 2,Ctx as the first parameter of emit_bpf_tail_call.
> > > 3,Define jmp_offset as a macro in emit_bpf_tail_call.
> > >
> > > After merging these two patches, the test results are as follows:
> > >
> > > ./test_progs --allow=tailcalls
> > > tester_init:PASS:tester_log_buf 0 nsec
> > > process_subtest:PASS:obj_open_mem 0 nsec
> > > process_subtest:PASS:specs_alloc 0 nsec
> > > #413/1   tailcalls/tailcall_1:OK
> > > #413/2   tailcalls/tailcall_2:OK
> > > #413/3   tailcalls/tailcall_3:OK
> > > #413/4   tailcalls/tailcall_4:OK
> > > #413/5   tailcalls/tailcall_5:OK
> > > #413/6   tailcalls/tailcall_6:OK
> > > #413/7   tailcalls/tailcall_bpf2bpf_1:OK
> > > #413/8   tailcalls/tailcall_bpf2bpf_2:OK
> > > #413/9   tailcalls/tailcall_bpf2bpf_3:OK
> > > #413/10  tailcalls/tailcall_bpf2bpf_4:OK
> > > #413/11  tailcalls/tailcall_bpf2bpf_5:OK
> > > #413/12  tailcalls/tailcall_bpf2bpf_6:OK
> > > test_tailcall_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_count:FAIL:attach_trace unexpected error: -524
> > > #413/13  tailcalls/tailcall_bpf2bpf_fentry:FAIL
> > > test_tailcall_count:PASS:open fexit_obj file 0 nsec
> > > test_tailcall_count:PASS:find fexit prog 0 nsec
> > > test_tailcall_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_count:PASS:load fexit_obj 0 nsec
> > > libbpf: prog 'fexit': failed to attach: -ENOTSUPP
> > > test_tailcall_count:FAIL:attach_trace unexpected error: -524
> > > #413/14  tailcalls/tailcall_bpf2bpf_fexit:FAIL
> > > test_tailcall_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_count:FAIL:attach_trace unexpected error: -524
> > > #413/15  tailcalls/tailcall_bpf2bpf_fentry_fexit:FAIL
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:load tgt_obj 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find jmp_table map 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find jmp_table map fd 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find classifier_0 prog 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find classifier_0 prog fd 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:update jmp_table 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find fentry prog 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:set_attach_target classifier_0 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_bpf2bpf_fentry_entry:FAIL:attach_trace unexpected error: -524
> > > #413/16  tailcalls/tailcall_bpf2bpf_fentry_entry:FAIL
> > > #413/17  tailcalls/tailcall_poke:OK
> > > #413/18  tailcalls/tailcall_bpf2bpf_hierarchy_1:OK
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > #413/19  tailcalls/tailcall_bpf2bpf_hierarchy_fentry:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fexit_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fexit prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fexit_obj 0 nsec
> > > libbpf: prog 'fexit': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > #413/20  tailcalls/tailcall_bpf2bpf_hierarchy_fexit:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > #413/21  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_fexit:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target entry 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > tester_init:PASS:tester_log_buf 0 nsec
> > > process_subtest:PASS:obj_open_mem 0 nsec
> > > process_subtest:PASS:specs_alloc 0 nsec
> > > #413/22  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_entry:FAIL
> > > #413/23  tailcalls/tailcall_bpf2bpf_hierarchy_2:OK
> > > #413/24  tailcalls/tailcall_bpf2bpf_hierarchy_3:OK
> > > test_tailcall_freplace:PASS:tailcall_freplace__open 0 nsec
> > > test_tailcall_freplace:PASS:tc_bpf2bpf__open_and_load 0 nsec
> > > test_tailcall_freplace:PASS:set_attach_target 0 nsec
> > > test_tailcall_freplace:PASS:tailcall_freplace__load 0 nsec
> > > test_tailcall_freplace:PASS:update jmp_table failure 0 nsec
> > > libbpf: prog 'entry_freplace': failed to attach to freplace: -ENOTSUPP
> > > test_tailcall_freplace:FAIL:attach_freplace unexpected error: -524
> > > #413/25  tailcalls/tailcall_freplace:FAIL
> > > test_tailcall_bpf2bpf_freplace:PASS:tc_bpf2bpf__open_and_load 0 nsec
> > > test_tailcall_bpf2bpf_freplace:PASS:tailcall_freplace__open 0 nsec
> > > test_tailcall_bpf2bpf_freplace:PASS:set_attach_target 0 nsec
> > > test_tailcall_bpf2bpf_freplace:PASS:tailcall_freplace__load 0 nsec
> > > libbpf: prog 'entry_freplace': failed to attach to freplace: -ENOTSUPP
> > > test_tailcall_bpf2bpf_freplace:FAIL:attach_freplace unexpected error: -524
> > > #413/26  tailcalls/tailcall_bpf2bpf_freplace:FAIL
> > > #413/27  tailcalls/tailcall_failure:OK
> > > #413/28  tailcalls/reject_tail_call_spin_lock:OK
> > > #413/29  tailcalls/reject_tail_call_rcu_lock:OK
> > > #413/30  tailcalls/reject_tail_call_preempt_lock:OK
> > > #413/31  tailcalls/reject_tail_call_ref:OK
> > > #413     tailcalls:FAIL
> > >
> > > All error logs:
> > > tester_init:PASS:tester_log_buf 0 nsec
> > > process_subtest:PASS:obj_open_mem 0 nsec
> > > process_subtest:PASS:specs_alloc 0 nsec
> > > test_tailcall_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_count:FAIL:attach_trace unexpected error: -524
> > > #413/13  tailcalls/tailcall_bpf2bpf_fentry:FAIL
> > > test_tailcall_count:PASS:open fexit_obj file 0 nsec
> > > test_tailcall_count:PASS:find fexit prog 0 nsec
> > > test_tailcall_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_count:PASS:load fexit_obj 0 nsec
> > > libbpf: prog 'fexit': failed to attach: -ENOTSUPP
> > > test_tailcall_count:FAIL:attach_trace unexpected error: -524
> > > #413/14  tailcalls/tailcall_bpf2bpf_fexit:FAIL
> > > test_tailcall_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_count:FAIL:attach_trace unexpected error: -524
> > > #413/15  tailcalls/tailcall_bpf2bpf_fentry_fexit:FAIL
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:load tgt_obj 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find jmp_table map 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find jmp_table map fd 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find classifier_0 prog 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find classifier_0 prog fd 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:update jmp_table 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:find fentry prog 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:set_attach_target classifier_0 0 nsec
> > > test_tailcall_bpf2bpf_fentry_entry:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_bpf2bpf_fentry_entry:FAIL:attach_trace unexpected error: -524
> > > #413/16  tailcalls/tailcall_bpf2bpf_fentry_entry:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > #413/19  tailcalls/tailcall_bpf2bpf_hierarchy_fentry:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fexit_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fexit prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fexit_obj 0 nsec
> > > libbpf: prog 'fexit': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > #413/20  tailcalls/tailcall_bpf2bpf_hierarchy_fexit:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:map_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:update jmp_table 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find data_map 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target subprog_tail 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > #413/21  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_fexit:FAIL
> > > test_tailcall_hierarchy_count:PASS:load obj 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find entry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:prog_fd 0 nsec
> > > test_tailcall_hierarchy_count:PASS:open fentry_obj file 0 nsec
> > > test_tailcall_hierarchy_count:PASS:find fentry prog 0 nsec
> > > test_tailcall_hierarchy_count:PASS:set_attach_target entry 0 nsec
> > > test_tailcall_hierarchy_count:PASS:load fentry_obj 0 nsec
> > > libbpf: prog 'fentry': failed to attach: -ENOTSUPP
> > > test_tailcall_hierarchy_count:FAIL:attach_trace unexpected error: -524
> > > tester_init:PASS:tester_log_buf 0 nsec
> > > process_subtest:PASS:obj_open_mem 0 nsec
> > > process_subtest:PASS:specs_alloc 0 nsec
> > > #413/22  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_entry:FAIL
> > > test_tailcall_freplace:PASS:tailcall_freplace__open 0 nsec
> > > test_tailcall_freplace:PASS:tc_bpf2bpf__open_and_load 0 nsec
> > > test_tailcall_freplace:PASS:set_attach_target 0 nsec
> > > test_tailcall_freplace:PASS:tailcall_freplace__load 0 nsec
> > > test_tailcall_freplace:PASS:update jmp_table failure 0 nsec
> > > libbpf: prog 'entry_freplace': failed to attach to freplace: -ENOTSUPP
> > > test_tailcall_freplace:FAIL:attach_freplace unexpected error: -524
> > > #413/25  tailcalls/tailcall_freplace:FAIL
> > > test_tailcall_bpf2bpf_freplace:PASS:tc_bpf2bpf__open_and_load 0 nsec
> > > test_tailcall_bpf2bpf_freplace:PASS:tailcall_freplace__open 0 nsec
> > > test_tailcall_bpf2bpf_freplace:PASS:set_attach_target 0 nsec
> > > test_tailcall_bpf2bpf_freplace:PASS:tailcall_freplace__load 0 nsec
> > > libbpf: prog 'entry_freplace': failed to attach to freplace: -ENOTSUPP
> > > test_tailcall_bpf2bpf_freplace:FAIL:attach_freplace unexpected error: -524
> > > #413/26  tailcalls/tailcall_bpf2bpf_freplace:FAIL
> > > #413     tailcalls:FAIL
> > > Summary: 0/21 PASSED, 0 SKIPPED, 1 FAILED
> > >
> > > v1:
> > > 1,Fix the jmp_offset calculation error in the emit_bpf_tail_call function.
> > > 2,Fix the issue that MAX_TAIL_CALL_CNT limit bypass in hybrid tailcall and BPF-to-BPF call
> > >
> > > After applying this patch, testing results are as follows:
> > >
> > > ./test_progs --allow=tailcalls/tailcall_bpf2bpf_hierarchy_1
> > > 413/18  tailcalls/tailcall_bpf2bpf_hierarchy_1:OK
> > > 413     tailcalls:OK
> > > Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
> > >
> > > ./test_progs --allow=tailcalls/tailcall_bpf2bpf_hierarchy_2
> > > 413/23  tailcalls/tailcall_bpf2bpf_hierarchy_2:OK
> > > 413     tailcalls:OK
> > > Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
> > >
> > > ./test_progs --allow=tailcalls/tailcall_bpf2bpf_hierarchy_3
> > > 413/24  tailcalls/tailcall_bpf2bpf_hierarchy_3:OK
> > > 413     tailcalls:OK
> > > Summary: 1/1 PASSED, 0 SKIPPED, 0 FAILED
> > >
> > > Haoran Jiang (2):
> > >   LoongArch: BPF: Fix jump offset calculation in tailcall
> > >   LoongArch: BPF: Fix tailcall hierarchy
> > >
> > >  arch/loongarch/net/bpf_jit.c | 171 ++++++++++++++++++++++-------------
> > >  1 file changed, 110 insertions(+), 61 deletions(-)
> > >
> > > --
> > > 2.43.0
> > >
> > >
>
>





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux