On Mon, Jun 26, 2023 at 10:47 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > On 6/22/23 9:57 AM, menglong8.dong@xxxxxxxxx wrote: > > From: Menglong Dong <imagedong@xxxxxxxxxxx> > > (CC'ing also Florent wrt arm64) > > > Add test9/test10 in fexit_test.c and fentry_test.c to test the fentry > > and fexit whose target function have 7/11 arguments. > > > > Correspondingly, add bpf_testmod_fentry_test7() and > > bpf_testmod_fentry_test11() to bpf_testmod.c > > > > Meanwhile, add bpf_modify_return_test2() to test_run.c to test the > > MODIFY_RETURN with 7 arguments. > > > > Add bpf_testmod_test_struct_arg_7/bpf_testmod_test_struct_arg_7 in > > bpf_testmod.c to test the struct in the arguments. > > > > And the testcases passed: > > > > ./test_progs -t fexit > > Summary: 5/12 PASSED, 0 SKIPPED, 0 FAILED > > > > ./test_progs -t fentry > > Summary: 3/0 PASSED, 0 SKIPPED, 0 FAILED > > > > ./test_progs -t modify_return > > Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED > > > > ./test_progs -t tracing_struct > > Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED > > > > Signed-off-by: Menglong Dong <imagedong@xxxxxxxxxxx> > > Acked-by: Yonghong Song <yhs@xxxxxx> > > --- > > v6: > > - add testcases to tracing_struct.c instead of fentry_test.c and > > fexit_test.c > > v5: > > - add testcases for MODIFY_RETURN > > v4: > > - use different type for args in bpf_testmod_fentry_test{7,12} > > - add testcase for grabage values in ctx > > v3: > > - move bpf_fentry_test{7,12} to bpf_testmod.c and rename them to > > bpf_testmod_fentry_test{7,12} meanwhile > > - get return value by bpf_get_func_ret() in > > "fexit/bpf_testmod_fentry_test12", as we don't change ___bpf_ctx_cast() > > in this version > > --- > > net/bpf/test_run.c | 23 ++++++-- > > .../selftests/bpf/bpf_testmod/bpf_testmod.c | 49 ++++++++++++++++- > > .../selftests/bpf/prog_tests/fentry_fexit.c | 4 +- > > .../selftests/bpf/prog_tests/fentry_test.c | 2 + > > .../selftests/bpf/prog_tests/fexit_test.c | 2 + > > .../selftests/bpf/prog_tests/modify_return.c | 20 ++++++- > > .../selftests/bpf/prog_tests/tracing_struct.c | 19 +++++++ > > .../testing/selftests/bpf/progs/fentry_test.c | 32 +++++++++++ > > .../testing/selftests/bpf/progs/fexit_test.c | 33 ++++++++++++ > > .../selftests/bpf/progs/modify_return.c | 40 ++++++++++++++ > > .../selftests/bpf/progs/tracing_struct.c | 54 +++++++++++++++++++ > > 11 files changed, 271 insertions(+), 7 deletions(-) > > This triggers test failures on arm64 in BPF CI given the additions are > not yet supported there: > > https://github.com/kernel-patches/bpf/actions/runs/5371020820/jobs/9743606263 > https://github.com/kernel-patches/bpf/actions/runs/5371020820/jobs/9743606326 > > [...] > Notice: Success: 362/3077, Skipped: 12, Failed: 3 > Error: #71 fentry_fexit > Error: #71 fentry_fexit > test_fentry_fexit:PASS:fentry_skel_load 0 nsec > test_fentry_fexit:PASS:fexit_skel_load 0 nsec > test_fentry_fexit:FAIL:fentry_attach unexpected error: -1 (errno 524) > Error: #72 fentry_test > Error: #72 fentry_test > test_fentry_test:PASS:fentry_skel_load 0 nsec > fentry_test:FAIL:fentry_attach unexpected error: -1 (errno 524) > test_fentry_test:FAIL:fentry_first_attach unexpected error: -1 (errno 524) > Error: #76 fexit_test > Error: #76 fexit_test > test_fexit_test:PASS:fexit_skel_load 0 nsec > fexit_test:FAIL:fexit_attach unexpected error: -1 (errno 524) > test_fexit_test:FAIL:fexit_first_attach unexpected error: -1 (errno 524) > [...] > > I think probably the best way would be to separate the new test cases and > then update tools/testing/selftests/bpf/DENYLIST.aarch64 to exclude them > from being run on arm64 until support gets added there too. Good idea! I didn't know the existence of DENYLIST, or I'll already do it like this. I'll send a new version. Thanks! Menglong Dong > > Thanks, > Daniel