v3: 1. Adjust the position of fixup_exception() in the patch "LoongArch: Enable exception fixup for specific ADE": move its invocation to within the code block wrapped by irqentry_enter()/irqentry_exit().
2. Add the relevant test items to the patch commit log. 3. Adjust the sequence of patches With the exception of the patch "LoongArch: Enable exception fixup for specific ADE", no source code changes have been made in the other patches. --------------------------Changelog------------------------------------ v2: links: https://lore.kernel.org/all/[email protected]/ Referring to Tiezhu's suggestion, split the v1 patch titled "LoongArch: Modify the jump logic of the trampoline" into three parts: (1) ftrace code (2) sample test (3) bpf code The code logic and implementation remain unchanged. v1: links: https://lore.kernel.org/all/[email protected]/ The following test cases under the tools/testing/selftests/bpf/ directory have passed the test: ./test_progs -t module_attach ./test_progs -t module_fentry_shadow ./test_progs -t subprogs ./test_progs -t subprogs_extable ./test_progs -t tailcalls ./test_progs -t struct_ops -d struct_ops_multi_pages ./test_progs -t fexit_bpf2bpf ./test_progs -t fexit_stress ./test_progs -t module_fentry_shadow ./test_progs -t fentry_test/fentry ./test_progs -t fexit_test/fexit ./test_progs -t fentry_fexit ./test_progs -t modify_return ./test_progs -t fexit_sleep ./test_progs -t test_overhead ./test_progs -t trampoline_count Chenghao Duan (4): LoongArch: ftrace: Refactor register restoration in ftrace_common_return LoongArch: Enable exception fixup for specific ADE subcode LoongArch: BPF: Enhance trampoline support for kernel and module tracing LoongArch: ftrace: Adjust register stack restore order in direct call trampolines arch/loongarch/kernel/mcount_dyn.S | 14 +++++--- arch/loongarch/kernel/traps.c | 9 ++++- arch/loongarch/net/bpf_jit.c | 38 +++++++++++++++------ samples/ftrace/ftrace-direct-modify.c | 8 ++--- samples/ftrace/ftrace-direct-multi-modify.c | 8 ++--- samples/ftrace/ftrace-direct-multi.c | 4 +-- samples/ftrace/ftrace-direct-too.c | 4 +-- samples/ftrace/ftrace-direct.c | 4 +-- 8 files changed, 59 insertions(+), 30 deletions(-) -- 2.25.1
