Re: [PATCH bpf-next v7 3/3] selftests/bpf: add testcase for TRACING with 6+ arguments

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Thanks,
Daniel




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux