Alexander Duyck (1): bpf, arm64: Fix BTI type used for freplace attached functions
Dmitrii Banshchikov (1): bpf: Use MAX_BPF_FUNC_REG_ARGS macro
Florent Revest (1): bpf, arm64: Support struct arguments in the BPF trampoline
Nathan Chancellor (1): bpf, arm64: Mark dummy_tramp as global
Peter Zijlstra (1): x86/ibt,ftrace: Search for __fentry__ location
Xu Kuohai (12): arm64, insn: Add ldr/str with immediate offset bpf, arm64: Optimize BPF store/load using arm64 str/ldr(immediate offset) bpf, arm64: Adjust the offset of str/ldr(immediate) to positive number arm64: Add LDR (literal) instruction bpf, arm64: Implement bpf_arch_text_poke() for arm64 bpf, arm64: Add bpf trampoline for arm64 bpf, arm64: Fix compile error in dummy_tramp() bpf, arm64: Fix bpf trampoline instruction endianness ftrace: Allow users to disable ftrace direct call arm64: ftrace: Support long jump for ftrace direct call arm64: ftrace: Add ftrace direct call support arm64: ftrace: Support direct call for no literal module functions
Yonghong Song (6): bpf: Always return corresponding btf_type in __get_type_size() bpf: Allow struct argument in trampoline based programs bpf: x86: Support in-register struct arguments in trampoline programs bpf: arm64: No support of struct argument in trampoline programs libbpf: Add new BPF_PROG2 macro selftests/bpf: Add struct argument tests with fentry/fexit programs.
arch/arm64/Kconfig | 2 + arch/arm64/Makefile | 4 + arch/arm64/include/asm/ftrace.h | 31 +- arch/arm64/include/asm/insn.h | 14 + arch/arm64/kernel/asm-offsets.c | 1 + arch/arm64/kernel/entry-ftrace.S | 39 +- arch/arm64/kernel/ftrace.c | 248 ++++- arch/arm64/kernel/insn.c | 111 ++- arch/arm64/net/bpf_jit.h | 21 + arch/arm64/net/bpf_jit_comp.c | 881 +++++++++++++++++- arch/x86/kernel/kprobes/core.c | 11 +- arch/x86/net/bpf_jit_comp.c | 60 +- include/linux/bpf.h | 9 + include/linux/ftrace.h | 3 + kernel/bpf/btf.c | 77 +- kernel/bpf/trampoline.c | 20 +- kernel/bpf/verifier.c | 2 +- kernel/kprobes.c | 8 +- kernel/trace/Kconfig | 7 +- kernel/trace/ftrace.c | 65 +- net/bpf/test_run.c | 57 +- tools/lib/bpf/bpf_tracing.h | 79 ++ .../selftests/bpf/prog_tests/tracing_struct.c | 71 ++ .../selftests/bpf/progs/tracing_struct.c | 127 +++ 24 files changed, 1796 insertions(+), 152 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/tracing_struct.c create mode 100644 tools/testing/selftests/bpf/progs/tracing_struct.c