[PATCH v1 0/3] LoongArch: BPF: Fix some tail call issues

Tiezhu Yang posted 3 patches 3 days, 13 hours ago
arch/loongarch/net/bpf_jit.c | 38 ++++++++++++++++++++++++++----------
1 file changed, 28 insertions(+), 10 deletions(-)
[PATCH v1 0/3] LoongArch: BPF: Fix some tail call issues
Posted by Tiezhu Yang 3 days, 13 hours ago
With this series, all of the related testcases passed on LoongArch:

  $ sudo modprobe test_bpf test_suite=test_tail_calls
  test_bpf: #0 Tail call leaf jited:1 17 PASS
  test_bpf: #1 Tail call 2 jited:1 21 PASS
  test_bpf: #2 Tail call 3 jited:1 25 PASS
  test_bpf: #3 Tail call 4 jited:1 28 PASS
  test_bpf: #4 Tail call load/store leaf jited:1 19 PASS
  test_bpf: #5 Tail call load/store jited:1 23 PASS
  test_bpf: #6 Tail call error path, max count reached jited:1 172 PASS
  test_bpf: #7 Tail call count preserved across function calls jited:1 1123 PASS
  test_bpf: #8 Tail call error path, NULL target jited:1 18 PASS
  test_bpf: #9 Tail call error path, index out of range jited:1 18 PASS
  test_bpf: test_tail_calls: Summary: 10 PASSED, 0 FAILED, [10/10 JIT'ed]

  $ sudo ./test_progs -t tailcalls
  #465/1   tailcalls/tailcall_1:OK
  #465/2   tailcalls/tailcall_2:OK
  #465/3   tailcalls/tailcall_3:OK
  #465/4   tailcalls/tailcall_4:OK
  #465/5   tailcalls/tailcall_5:OK
  #465/6   tailcalls/tailcall_6:OK
  #465/7   tailcalls/tailcall_bpf2bpf_1:OK
  #465/8   tailcalls/tailcall_bpf2bpf_2:OK
  #465/9   tailcalls/tailcall_bpf2bpf_3:OK
  #465/10  tailcalls/tailcall_bpf2bpf_4:OK
  #465/11  tailcalls/tailcall_bpf2bpf_5:OK
  #465/12  tailcalls/tailcall_bpf2bpf_6:OK
  #465/13  tailcalls/tailcall_bpf2bpf_fentry:OK
  #465/14  tailcalls/tailcall_bpf2bpf_fexit:OK
  #465/15  tailcalls/tailcall_bpf2bpf_fentry_fexit:OK
  #465/16  tailcalls/tailcall_bpf2bpf_fentry_entry:OK
  #465/17  tailcalls/tailcall_poke:OK
  #465/18  tailcalls/tailcall_bpf2bpf_hierarchy_1:OK
  #465/19  tailcalls/tailcall_bpf2bpf_hierarchy_fentry:OK
  #465/20  tailcalls/tailcall_bpf2bpf_hierarchy_fexit:OK
  #465/21  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_fexit:OK
  #465/22  tailcalls/tailcall_bpf2bpf_hierarchy_fentry_entry:OK
  #465/23  tailcalls/tailcall_bpf2bpf_hierarchy_2:OK
  #465/24  tailcalls/tailcall_bpf2bpf_hierarchy_3:OK
  #465/25  tailcalls/tailcall_freplace:OK
  #465/26  tailcalls/tailcall_bpf2bpf_freplace:OK
  #465/27  tailcalls/tailcall_failure:OK
  #465/28  tailcalls/reject_tail_call_spin_lock:OK
  #465/29  tailcalls/reject_tail_call_rcu_lock:OK
  #465/30  tailcalls/reject_tail_call_preempt_lock:OK
  #465/31  tailcalls/reject_tail_call_ref:OK
  #465/32  tailcalls/tailcall_sleepable:OK
  #465     tailcalls:OK
  Summary: 1/32 PASSED, 0 SKIPPED, 0 FAILED

Tiezhu Yang (3):
  LoongArch: BPF: Fix tail call prologue alignment
  LoongArch: BPF: Fix outdated tail call comments
  LoongArch: BPF: Fix off-by-one error in tail call

 arch/loongarch/net/bpf_jit.c | 38 ++++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 10 deletions(-)

-- 
2.42.0