v2: https://lore.kernel.org/bpf/20230128000650.1516334-1-iii@xxxxxxxxxxxxx/#t v2 -> v3: - Make __arch_prepare_bpf_trampoline static. (Reported-by: kernel test robot <lkp@xxxxxxxxx>) - Support both old- and new- style map definitions in sk_assign. (Alexei) - Trim DENYLIST.s390x. (Alexei) - Adjust s390x vmlinux path in vmtest.sh. - Drop merged fixes. v1: https://lore.kernel.org/bpf/20230125213817.1424447-1-iii@xxxxxxxxxxxxx/#t v1 -> v2: - Fix core_read_macros, sk_assign, test_profiler, test_bpffs (24/31; I'm not quite happy with the fix, but don't have better ideas), and xdp_synproxy. (Andrii) - Prettify liburandom_read and verify_pkcs7_sig fixes. (Andrii) - Fix bpf_usdt_arg using barrier_var(); prettify barrier_var(). (Andrii) - Change BPF_MAX_TRAMP_LINKS to enum and query it using BTF. (Andrii) - Improve bpf_jit_supports_kfunc_call() description. (Alexei) - Always check sign_extend() return value. - Cc: Alexander Gordeev. Hi, This series implements poke, trampoline, kfunc, and mixing subprogs and tailcalls on s390x. The following failures still remain: #82 get_stack_raw_tp:FAIL get_stack_print_output:FAIL:user_stack corrupted user stack Known issue: We cannot reliably unwind userspace on s390x without DWARF. #101 ksyms_module:FAIL address of kernel function bpf_testmod_test_mod_kfunc is out of range Known issue: Kernel and modules are too far away from each other on s390x. #190 stacktrace_build_id:FAIL Known issue: We cannot reliably unwind userspace on s390x without DWARF. #281 xdp_metadata:FAIL See patch 6. None of these seem to be due to the new changes. Best regards, Ilya Ilya Leoshkevich (8): selftests/bpf: Fix sk_assign on s390x s390/bpf: Add expoline to tail calls s390/bpf: Implement bpf_arch_text_poke() s390/bpf: Implement arch_prepare_bpf_trampoline() s390/bpf: Implement bpf_jit_supports_subprog_tailcalls() s390/bpf: Implement bpf_jit_supports_kfunc_call() selftests/bpf: Fix s390x vmlinux path selftests/bpf: Trim DENYLIST.s390x arch/s390/net/bpf_jit_comp.c | 713 +++++++++++++++++- include/linux/bpf.h | 4 + tools/testing/selftests/bpf/DENYLIST.s390x | 69 -- .../selftests/bpf/prog_tests/sk_assign.c | 25 +- .../selftests/bpf/progs/test_sk_assign.c | 11 + .../bpf/progs/test_sk_assign_libbpf.c | 3 + tools/testing/selftests/bpf/vmtest.sh | 2 +- 7 files changed, 715 insertions(+), 112 deletions(-) create mode 100644 tools/testing/selftests/bpf/progs/test_sk_assign_libbpf.c -- 2.39.1