libs icon indicating copy to clipboard operation
libs copied to clipboard

feat(driver): Add loongarch64 kernel module support

Open yzewei opened this issue 1 year ago • 24 comments

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod

/area driver-bpf

/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap

/area libpman

/area libsinsp

/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it: Add loongarch64 kernel module support. Temporarily does not involve bpf.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer: I'm not sure what problems are there at present. If there is a problem, I hope to point out.

Does this PR introduce a user-facing change?:

NONE

yzewei avatar Jan 29 '24 09:01 yzewei

Welcome @yzewei! It looks like this is your first PR to falcosecurity/libs 🎉

poiana avatar Jan 29 '24 09:01 poiana

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: yzewei Once this PR has been reviewed and has the lgtm label, please assign jasondellaluce for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

poiana avatar Jan 29 '24 09:01 poiana

Please double check driver/SCHEMA_VERSION file. See versioning.

/hold

github-actions[bot] avatar Jan 29 '24 09:01 github-actions[bot]

Hi! Thanks for this PR! For context, you can check this PR out: https://github.com/falcosecurity/libs/pull/1181/files It added support for kmod for RISC-V. At a quick glance, i'd say you miss:

  • driver/feature_gates.h (ie: you must tell the code which feature are supported on the new arch)
  • README table updated with new support arch for kmod, like this: https://github.com/falcosecurity/libs/pull/1181/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
  • some tests will probably need some small fixes here and there

Also, can you expand on why 5.19 is minimum supported kernel version?

In the meantime, i triggered the CI ;)

EDIT: note, however, that since we don't have any CI job on loongarch64 it is up to you to ensure that the porting is working fine. See https://github.com/falcosecurity/libs#drivers-officially-supported-architectures NOTEs.

FedeDP avatar Jan 29 '24 12:01 FedeDP

Hi! Thanks for this PR! For context, you can check this PR out: https://github.com/falcosecurity/libs/pull/1181/files It added support for kmod for RISC-V. At a quick glance, i'd say you miss:

  • driver/feature_gates.h (ie: you must tell the code which feature are supported on the new arch)
  • README table updated with new support arch for kmod, like this: https://github.com/falcosecurity/libs/pull/1181/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
  • some tests will probably need some small fixes here and there

Also, can you expand on why 5.19 is minimum supported kernel version?

In the meantime, i triggered the CI ;)

EDIT: note, however, that since we don't have any CI job on loongarch64 it is up to you to ensure that the porting is working fine. See https://github.com/falcosecurity/libs#drivers-officially-supported-architectures NOTEs.

Thank you very much for your reply!

  • Regarding the characteristics of the new architecture, I am adding
  • README table update is also on the road
  • I will add the test results of the test and test. The PR I currently submitted is only the beginning of the beginning of the LOONGARCH
  • The Loongarch architecture is divided into ABI 1.0 and ABI 2.0. I think we should look forward, and ABI2.0 need kernel > 5.10

yzewei avatar Jan 30 '24 11:01 yzewei

[----------] 3 tests from sinsp_container_lookup/sinsp_container_lookup_test
[ RUN      ] sinsp_container_lookup/sinsp_container_lookup_test.delays_match/0
[       OK ] sinsp_container_lookup/sinsp_container_lookup_test.delays_match/0 (0 ms)
[ RUN      ] sinsp_container_lookup/sinsp_container_lookup_test.delays_match/1
[       OK ] sinsp_container_lookup/sinsp_container_lookup_test.delays_match/1 (0 ms)
[ RUN      ] sinsp_container_lookup/sinsp_container_lookup_test.delays_match/2
[       OK ] sinsp_container_lookup/sinsp_container_lookup_test.delays_match/2 (0 ms)
[----------] 3 tests from sinsp_container_lookup/sinsp_container_lookup_test (0 ms total)

[----------] Global test environment tear-down
[==========] 415 tests from 43 test suites ran. (18984 ms total)
[  PASSED  ] 415 tests.
[100%] Built target run-unit-test-libsinsp
Built target run-unit-tests

run-unit-test-libsinsp passed the test

yzewei avatar Feb 22 '24 07:02 yzewei

Can you test drivers_test too? (that is the most important IMHO :D). See https://github.com/falcosecurity/libs/tree/master/test/drivers

FedeDP avatar Feb 22 '24 07:02 FedeDP

Can you test drivers_test too? (that is the most important IMHO :D). See https://github.com/falcosecurity/libs/tree/master/test/drivers

Compiling suitable kernel for testing

yzewei avatar Feb 23 '24 01:02 yzewei

The kernel is still being tested. Most of the current tests have passed, but there are still some problems. It will be submitted after all the tests are passed.

yzewei avatar Feb 28 '24 07:02 yzewei

Thank you very much for this effort!

FedeDP avatar Feb 28 '24 07:02 FedeDP

When I execute the make driver, I find that there is a problem with the function call under the ppm_events.c file. Can you tell me what I should do?

[yzw@fedora build]$ make driver
/home/yzw/libs/build/driver/src/ppm_events.c: 在函数‘val_to_ring’中:
/home/yzw/libs/build/driver/src/ppm_events.c:652:36: 错误:implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’? [-Werror=implicit-function-declaration]
  652 |                         len = (int)strlcpy(args->buffer + args->arg_data_offset,
      |                                    ^~~~~~~
      |                                    strscpy
cc1:有些警告被当作是错误
make[7]: *** [scripts/Makefile.build:243:/home/yzw/libs/build/driver/src/ppm_events.o] 错误 1
make[6]: *** [/home/yzw/workspace/linux-chenhuacai/Makefile:1921:/home/yzw/libs/build/driver/src] 错误 2
make[5]: *** [Makefile:240:__sub-make] 错误 2
make[4]: *** [Makefile:17:all] 错误 2
make[3]: *** [driver/CMakeFiles/driver.dir/build.make:70:driver/CMakeFiles/driver] 错误 2
make[2]: *** [CMakeFiles/Makefile2:747:driver/CMakeFiles/driver.dir/all] 错误 2
make[1]: *** [CMakeFiles/Makefile2:754:driver/CMakeFiles/driver.dir/rule] 错误 2
make: *** [Makefile:286:driver] 错误 2

yzewei avatar Feb 29 '24 06:02 yzewei

Are you on a 6.8-rc kernel? Anyway, you just need to rebase on master since this: https://github.com/falcosecurity/libs/pull/1632 was just merged yesterday.

FedeDP avatar Feb 29 '24 08:02 FedeDP

Are you on a 6.8-rc kernel? Anyway, you just need to rebase on master since this: #1632 was just merged yesterday.

Thanks!

yzewei avatar Feb 29 '24 08:02 yzewei

While testing the kmo module, I found some problems with the execution of the test case that makes the splice system call, but I'm not sure if it's consistent in other architectures test/drivers/test_suites/syscall_enter_suite/splice_e.cpp

/* Parameter 4: flags (type: PT_FLAGS32) */
        evt_test->assert_numeric_param(4, (uint32_t)0);

error log:

[ RUN      ] SyscallEnter.spliceE
/home/yzw/rd/libs/test/drivers/event_class/event_class.cpp:544: Failure
Expected equality of these values:
  *(T*)(m_event_params[m_current_param].valptr)
    Which is: 0
  param
    Which is: 1
>>>>> value of the param is not correct. Param id = 4

I looked up PPM_SPLICE_F_MOVE macro definition as follows:

#define PPM_SPLICE_F_MOVE               (1 << 0)

yzewei avatar Mar 05 '24 02:03 yzewei

While testing the kmo module, I found some problems with the execution of the test case that makes the splice system call, but I'm not sure if it's consistent in other architectures test/drivers/test_suites/syscall_enter_suite/splice_e.cpp

/* Parameter 4: flags (type: PT_FLAGS32) */
        evt_test->assert_numeric_param(4, (uint32_t)0);

error log:

[ RUN      ] SyscallEnter.spliceE
/home/yzw/rd/libs/test/drivers/event_class/event_class.cpp:544: Failure
Expected equality of these values:
  *(T*)(m_event_params[m_current_param].valptr)
    Which is: 0
  param
    Which is: 1
>>>>> value of the param is not correct. Param id = 4

I looked up PPM_SPLICE_F_MOVE macro definition as follows:

#define PPM_SPLICE_F_MOVE               (1 << 0)

I found the reason... https://github.com/falcosecurity/libs/pull/1181#issuecomment-1615095653

The currently problematic test case:

[  FAILED  ] 11 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_create_child_with_2_threads
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_create_thread
[  FAILED  ] SyscallEnter.spliceE
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_create_child_with_2_threads
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_child_clone_parent_flag
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_from_child
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_create_thread

yzewei avatar Mar 05 '24 09:03 yzewei

While testing the kmo module, I found some problems with the execution of the test case that makes the splice system call, but I'm not sure if it's consistent in other architectures test/drivers/test_suites/syscall_enter_suite/splice_e.cpp

/* Parameter 4: flags (type: PT_FLAGS32) */
        evt_test->assert_numeric_param(4, (uint32_t)0);

error log:

[ RUN      ] SyscallEnter.spliceE
/home/yzw/rd/libs/test/drivers/event_class/event_class.cpp:544: Failure
Expected equality of these values:
  *(T*)(m_event_params[m_current_param].valptr)
    Which is: 0
  param
    Which is: 1
>>>>> value of the param is not correct. Param id = 4

I looked up PPM_SPLICE_F_MOVE macro definition as follows:

#define PPM_SPLICE_F_MOVE               (1 << 0)

I found the reason... #1181 (comment)

The currently problematic test case:

[  FAILED  ] 11 tests, listed below:
[  FAILED  ] SyscallExit.clone3X_child
[  FAILED  ] SyscallExit.clone3X_create_child_with_2_threads
[  FAILED  ] SyscallExit.clone3X_child_clone_parent_flag
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_from_child
[  FAILED  ] SyscallExit.clone3X_child_new_namespace_create_thread
[  FAILED  ] SyscallEnter.spliceE
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_create_child_with_2_threads
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_child_clone_parent_flag
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_from_child
[  FAILED  ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_create_thread

The reason has been found, since the schema should be defined as __loongarch64 instead of loongarch

yzewei avatar Mar 05 '24 12:03 yzewei

@FedeDP The current good news is that the kmod module has all passed the test The not-so-good news is that the code needs to be sorted out first and needs to pass the internal review. Therefore, the pr currently submitted will not be updated for the time being. I hope you understand.

yzewei avatar Mar 06 '24 08:03 yzewei

@yzewei no problem sir! And thank for the great effort you are putting into this! We will patiently wait!

FedeDP avatar Mar 06 '24 08:03 FedeDP

@yzewei no problem sir! And thank for the great effort you are putting into this! We will patiently wait!

Thanks for your understanding! There is another news, I almost forgot, the bpf and modern-bpf modules based on loongarch architecture are also on the way.

yzewei avatar Mar 06 '24 08:03 yzewei

@FedeDP We are currently migrating and adapting the ebpf module and have found a problem that may not exist in other architectures, as described below: Using the bpf function in driver/modern_bpf/helper/extract/extrace_from_kernel.h bpf_core_type_exists may not work when determining whether the kernel structure exists or perform incorrectly under loongarch, see https://github.com/falcosecurity/libs/issues/1719 Therefore, I would like to ask you what good way to simply debug this function so that I can reproduce this problem and feed it back to the relevant personnel of loongarch. Note: There is no easy-to-use ebpf debugging tool on loongarch, and the debugging method of bcc + python is not feasible. I am very sorry, so I hope you can give some good suggestions! Thanks again!

yzewei avatar Mar 18 '24 01:03 yzewei

Argh, not really an expert in this area. Summoning @Andreagit97 :)

FedeDP avatar Mar 18 '24 08:03 FedeDP

Argh, not really an expert in this area. Summoning @Andreagit97 :)

Thanks!

yzewei avatar Mar 18 '24 09:03 yzewei

In the current pr, commit loongarch's support for the driver module Include test cases, such as:


-----------------------------------------------------
- Setup phase
-----------------------------------------------------

* Configure kernel module tests! Kernel module path: /home/yzw/libs/build/driver/scap.ko
* Using buffer dim: 8388608

-----------------------------------------------------
- Testing phase
-----------------------------------------------------

[==========] Running 383 tests from 4 test suites.
[----------] Global test environment set-up.
[----------] 214 tests from SyscallExit
[ RUN      ] SyscallExit.accept4X_INET
[       OK ] SyscallExit.accept4X_INET (455 ms)
[ RUN      ] SyscallExit.accept4X_INET6
[       OK ] SyscallExit.accept4X_INET6 (469 ms)
[ RUN      ] SyscallExit.accept4X_UNIX
[       OK ] SyscallExit.accept4X_UNIX (509 ms)
[ RUN      ] SyscallExit.accept4X_failure
[       OK ] SyscallExit.accept4X_failure (620 ms)
[ RUN      ] SyscallExit.acceptX_INET
[       OK ] SyscallExit.acceptX_INET (583 ms)
[ RUN      ] SyscallExit.acceptX_INET6
[       OK ] SyscallExit.acceptX_INET6 (607 ms)
[ RUN      ] SyscallExit.acceptX_UNIX
[       OK ] SyscallExit.acceptX_UNIX (583 ms)
[ RUN      ] SyscallExit.acceptX_failure
[       OK ] SyscallExit.acceptX_failure (531 ms)
[ RUN      ] SyscallExit.bindX_INET
[       OK ] SyscallExit.bindX_INET (511 ms)
[ RUN      ] SyscallExit.bindX_INET6
[       OK ] SyscallExit.bindX_INET6 (515 ms)
[ RUN      ] SyscallExit.bindX_UNIX
[       OK ] SyscallExit.bindX_UNIX (523 ms)
[ RUN      ] SyscallExit.bindX_failure
[       OK ] SyscallExit.bindX_failure (511 ms)
[ RUN      ] SyscallExit.bpfX_invalid_cmd
[       OK ] SyscallExit.bpfX_invalid_cmd (559 ms)
[ RUN      ] SyscallExit.bpfX_MAP_CREATE
[       OK ] SyscallExit.bpfX_MAP_CREATE (551 ms)
[ RUN      ] SyscallExit.brkX
[       OK ] SyscallExit.brkX (539 ms)
[ RUN      ] SyscallExit.capsetX
[       OK ] SyscallExit.capsetX (515 ms)
[ RUN      ] SyscallExit.chdirX
[       OK ] SyscallExit.chdirX (519 ms)
[ RUN      ] SyscallExit.chrootX
[       OK ] SyscallExit.chrootX (515 ms)
[ RUN      ] SyscallExit.clone3X_father
[       OK ] SyscallExit.clone3X_father (515 ms)
[ RUN      ] SyscallExit.clone3X_child
[       OK ] SyscallExit.clone3X_child (571 ms)
[ RUN      ] SyscallExit.clone3X_create_child_with_2_threads
[       OK ] SyscallExit.clone3X_create_child_with_2_threads (563 ms)
[ RUN      ] SyscallExit.clone3X_child_clone_parent_flag
[       OK ] SyscallExit.clone3X_child_clone_parent_flag (567 ms)
[ RUN      ] SyscallExit.clone3X_child_new_namespace_from_child
[       OK ] SyscallExit.clone3X_child_new_namespace_from_child (551 ms)
[ RUN      ] SyscallExit.clone3X_child_new_namespace_from_caller
[       OK ] SyscallExit.clone3X_child_new_namespace_from_caller (511 ms)
[ RUN      ] SyscallExit.clone3X_child_new_namespace_create_thread
[       OK ] SyscallExit.clone3X_child_new_namespace_create_thread (567 ms)
[ RUN      ] SyscallExit.cloneX_father
[       OK ] SyscallExit.cloneX_father (503 ms)
[ RUN      ] SyscallExit.cloneX_child
[       OK ] SyscallExit.cloneX_child (499 ms)
[ RUN      ] SyscallExit.closeX
[       OK ] SyscallExit.closeX (523 ms)
[ RUN      ] SyscallExit.connectX_INET
[       OK ] SyscallExit.connectX_INET (523 ms)
[ RUN      ] SyscallExit.connectX_INET6
[       OK ] SyscallExit.connectX_INET6 (527 ms)
[ RUN      ] SyscallExit.connectX_UNIX
[       OK ] SyscallExit.connectX_UNIX (523 ms)
[ RUN      ] SyscallExit.connectX_failure
[       OK ] SyscallExit.connectX_failure (519 ms)
[ RUN      ] SyscallExit.connectX_failure_ECONNREFUSED
[       OK ] SyscallExit.connectX_failure_ECONNREFUSED (523 ms)
[ RUN      ] SyscallExit.connectX_failure_EINPROGRESS
[       OK ] SyscallExit.connectX_failure_EINPROGRESS (519 ms)
[ RUN      ] SyscallExit.copy_file_rangeX
[       OK ] SyscallExit.copy_file_rangeX (519 ms)
[ RUN      ] SyscallExit.delete_moduleX_failure
[       OK ] SyscallExit.delete_moduleX_failure (583 ms)
[ RUN      ] SyscallExit.dup3X
[       OK ] SyscallExit.dup3X (571 ms)
[ RUN      ] SyscallExit.dupX
[       OK ] SyscallExit.dupX (523 ms)
[ RUN      ] SyscallExit.epoll_create1X
[       OK ] SyscallExit.epoll_create1X (515 ms)
[ RUN      ] SyscallExit.eventfd2X_success
[       OK ] SyscallExit.eventfd2X_success (515 ms)
[ RUN      ] SyscallExit.eventfd2X_failure
[       OK ] SyscallExit.eventfd2X_failure (535 ms)
[ RUN      ] SyscallExit.execveX_failure
[       OK ] SyscallExit.execveX_failure (471 ms)
[ RUN      ] SyscallExit.execveX_success
[OUTPUT] SyscallExit.execveX_success test
[       OK ] SyscallExit.execveX_success (471 ms)
[ RUN      ] SyscallExit.execveX_not_upperlayer
[       OK ] SyscallExit.execveX_not_upperlayer (531 ms)
[ RUN      ] SyscallExit.execveX_upperlayer_success
[       OK ] SyscallExit.execveX_upperlayer_success (547 ms)
[ RUN      ] SyscallExit.execveX_success_memfd
[OUTPUT] SyscallExit.execveX_success_memfd
[       OK ] SyscallExit.execveX_success_memfd (479 ms)
[ RUN      ] SyscallExit.execveX_symlink
[OUTPUT] SyscallExit.execveX_success test
[       OK ] SyscallExit.execveX_symlink (463 ms)
[ RUN      ] SyscallExit.execveX_failure_empty_arg
[       OK ] SyscallExit.execveX_failure_empty_arg (463 ms)
[ RUN      ] SyscallExit.execveatX_failure
[       OK ] SyscallExit.execveatX_failure (467 ms)
[ RUN      ] SyscallExit.execveatX_correct_exit
[OUTPUT] SyscallExit.execveatX_success test
[       OK ] SyscallExit.execveatX_correct_exit (479 ms)
[ RUN      ] SyscallExit.execveatX_execve_exit
[OUTPUT] SyscallExit.execveatX_success test
[       OK ] SyscallExit.execveatX_execve_exit (415 ms)
[ RUN      ] SyscallExit.execveatX_success_memfd
[OUTPUT] SyscallExit.execveX_success_memfd
[       OK ] SyscallExit.execveatX_success_memfd (487 ms)
[ RUN      ] SyscallExit.fchdirX
[       OK ] SyscallExit.fchdirX (511 ms)
[ RUN      ] SyscallExit.fchmodX
[       OK ] SyscallExit.fchmodX (527 ms)
[ RUN      ] SyscallExit.fchmodatX
[       OK ] SyscallExit.fchmodatX (515 ms)
[ RUN      ] SyscallExit.fchownX
[       OK ] SyscallExit.fchownX (515 ms)
[ RUN      ] SyscallExit.fchownatX
[       OK ] SyscallExit.fchownatX (507 ms)
[ RUN      ] SyscallExit.fcntlX
[       OK ] SyscallExit.fcntlX (515 ms)
[ RUN      ] SyscallExit.finit_moduleX_failure
[       OK ] SyscallExit.finit_moduleX_failure (511 ms)
[ RUN      ] SyscallExit.finit_moduleX_failure_IGNORE_MODVERSIONS
[       OK ] SyscallExit.finit_moduleX_failure_IGNORE_MODVERSIONS (559 ms)
[ RUN      ] SyscallExit.finit_moduleX_failure_IGNORE_VERMAGIC
[       OK ] SyscallExit.finit_moduleX_failure_IGNORE_VERMAGIC (523 ms)
[ RUN      ] SyscallExit.finit_moduleX_failure_COMPRESSED_FILE
[       OK ] SyscallExit.finit_moduleX_failure_COMPRESSED_FILE (515 ms)
[ RUN      ] SyscallExit.flockX
[       OK ] SyscallExit.flockX (515 ms)
[ RUN      ] SyscallExit.fsconfigX_FSCONFIG_SET_STRING
[       OK ] SyscallExit.fsconfigX_FSCONFIG_SET_STRING (523 ms)
[ RUN      ] SyscallExit.fsconfigX_failure
[       OK ] SyscallExit.fsconfigX_failure (511 ms)
[ RUN      ] SyscallExit.genericX
[       OK ] SyscallExit.genericX (515 ms)
[ RUN      ] SyscallExit.getcwdX_success
[       OK ] SyscallExit.getcwdX_success (527 ms)
[ RUN      ] SyscallExit.getcwdX_fail
[       OK ] SyscallExit.getcwdX_fail (515 ms)
[ RUN      ] SyscallExit.getdents64X
[       OK ] SyscallExit.getdents64X (559 ms)
[ RUN      ] SyscallExit.getegidX
[       OK ] SyscallExit.getegidX (515 ms)
[ RUN      ] SyscallExit.geteuidX
[       OK ] SyscallExit.geteuidX (519 ms)
[ RUN      ] SyscallExit.getgidX
[       OK ] SyscallExit.getgidX (515 ms)
[ RUN      ] SyscallExit.getpeernameX
[       OK ] SyscallExit.getpeernameX (519 ms)
[ RUN      ] SyscallExit.getresgidX
[       OK ] SyscallExit.getresgidX (515 ms)
[ RUN      ] SyscallExit.getresuidX
[       OK ] SyscallExit.getresuidX (523 ms)
[ RUN      ] SyscallExit.getsocknameX
[       OK ] SyscallExit.getsocknameX (523 ms)
[ RUN      ] SyscallExit.getsockoptX_success
[       OK ] SyscallExit.getsockoptX_success (523 ms)
[ RUN      ] SyscallExit.getsockoptX_SO_RCVTIMEO
[       OK ] SyscallExit.getsockoptX_SO_RCVTIMEO (515 ms)
[ RUN      ] SyscallExit.getsockoptX_SO_COOKIE
[       OK ] SyscallExit.getsockoptX_SO_COOKIE (523 ms)
[ RUN      ] SyscallExit.getsockoptX_SO_PASSCRED
[       OK ] SyscallExit.getsockoptX_SO_PASSCRED (531 ms)
[ RUN      ] SyscallExit.getsockoptX_UNKNOWN_OPTION
[       OK ] SyscallExit.getsockoptX_UNKNOWN_OPTION (511 ms)
[ RUN      ] SyscallExit.getsockoptX_SOL_UNKNOWN
[       OK ] SyscallExit.getsockoptX_SOL_UNKNOWN (515 ms)
[ RUN      ] SyscallExit.getsockoptX_ZERO_OPTLEN
[       OK ] SyscallExit.getsockoptX_ZERO_OPTLEN (511 ms)
[ RUN      ] SyscallExit.getuidX
[       OK ] SyscallExit.getuidX (535 ms)
[ RUN      ] SyscallExit.init_moduleX_failure
[       OK ] SyscallExit.init_moduleX_failure (511 ms)
[ RUN      ] SyscallExit.inotify_init1X_success
[       OK ] SyscallExit.inotify_init1X_success (519 ms)
[ RUN      ] SyscallExit.inotify_init1X_failure
[       OK ] SyscallExit.inotify_init1X_failure (515 ms)
[ RUN      ] SyscallExit.io_uring_enterX
[       OK ] SyscallExit.io_uring_enterX (515 ms)
[ RUN      ] SyscallExit.io_uring_registerX
[       OK ] SyscallExit.io_uring_registerX (515 ms)
[ RUN      ] SyscallExit.io_uring_setupX
[       OK ] SyscallExit.io_uring_setupX (515 ms)
[ RUN      ] SyscallExit.io_uring_setupX_with_NULL_pointer
[       OK ] SyscallExit.io_uring_setupX_with_NULL_pointer (515 ms)
[ RUN      ] SyscallExit.ioctlX
[       OK ] SyscallExit.ioctlX (523 ms)
[ RUN      ] SyscallExit.killX
[       OK ] SyscallExit.killX (519 ms)
[ RUN      ] SyscallExit.linkatX
[       OK ] SyscallExit.linkatX (523 ms)
[ RUN      ] SyscallExit.listenX
[       OK ] SyscallExit.listenX (515 ms)
[ RUN      ] SyscallExit.lseekX
[       OK ] SyscallExit.lseekX (515 ms)
[ RUN      ] SyscallExit.memfd_createX_success
[       OK ] SyscallExit.memfd_createX_success (519 ms)
[ RUN      ] SyscallExit.memfd_createX_failure
[       OK ] SyscallExit.memfd_createX_failure (515 ms)
[ RUN      ] SyscallExit.mkdiratX
[       OK ] SyscallExit.mkdiratX (523 ms)
[ RUN      ] SyscallExit.mknodatX_failure
[       OK ] SyscallExit.mknodatX_failure (527 ms)
[ RUN      ] SyscallExit.mknodatX_failure_S_IFREG
[       OK ] SyscallExit.mknodatX_failure_S_IFREG (519 ms)
[ RUN      ] SyscallExit.mknodatX_failure_S_IFCHR
[       OK ] SyscallExit.mknodatX_failure_S_IFCHR (515 ms)
[ RUN      ] SyscallExit.mknodatX_failure_S_IFBLK
[       OK ] SyscallExit.mknodatX_failure_S_IFBLK (511 ms)
[ RUN      ] SyscallExit.mknodatX_failure_S_IFIFO
[       OK ] SyscallExit.mknodatX_failure_S_IFIFO (523 ms)
[ RUN      ] SyscallExit.mknodatX_failure_S_IFSOCK
[       OK ] SyscallExit.mknodatX_failure_S_IFSOCK (511 ms)
[ RUN      ] SyscallExit.mlock2X
[       OK ] SyscallExit.mlock2X (515 ms)
[ RUN      ] SyscallExit.mlockX
[       OK ] SyscallExit.mlockX (511 ms)
[ RUN      ] SyscallExit.mlockallX
[       OK ] SyscallExit.mlockallX (515 ms)
[ RUN      ] SyscallExit.mmapX
[       OK ] SyscallExit.mmapX (563 ms)
[ RUN      ] SyscallExit.mountX
[       OK ] SyscallExit.mountX (515 ms)
[ RUN      ] SyscallExit.mprotectX
[       OK ] SyscallExit.mprotectX (515 ms)
[ RUN      ] SyscallExit.munlockX
[       OK ] SyscallExit.munlockX (515 ms)
[ RUN      ] SyscallExit.munlockallX
[       OK ] SyscallExit.munlockallX (515 ms)
[ RUN      ] SyscallExit.munmapX
[       OK ] SyscallExit.munmapX (515 ms)
[ RUN      ] SyscallExit.nanosleepX
[       OK ] SyscallExit.nanosleepX (523 ms)
[ RUN      ] SyscallExit.open_by_handle_atX_success
[       OK ] SyscallExit.open_by_handle_atX_success (515 ms)
[ RUN      ] SyscallExit.open_by_handle_atX_success_mp
[       OK ] SyscallExit.open_by_handle_atX_success_mp (527 ms)
[ RUN      ] SyscallExit.open_by_handle_atX_failure
[       OK ] SyscallExit.open_by_handle_atX_failure (507 ms)
[ RUN      ] SyscallExit.openat2X_success
[       OK ] SyscallExit.openat2X_success (515 ms)
[ RUN      ] SyscallExit.openat2X_failure
[       OK ] SyscallExit.openat2X_failure (511 ms)
[ RUN      ] SyscallExit.openat2X_create_success
[       OK ] SyscallExit.openat2X_create_success (519 ms)
[ RUN      ] SyscallExit.pidfd_getfdX
[       OK ] SyscallExit.pidfd_getfdX (511 ms)
[ RUN      ] SyscallExit.pidfd_openX_failure
[       OK ] SyscallExit.pidfd_openX_failure (523 ms)
[ RUN      ] SyscallExit.pipe2X_failure
[       OK ] SyscallExit.pipe2X_failure (511 ms)
[ RUN      ] SyscallExit.ppollX
[       OK ] SyscallExit.ppollX (563 ms)
[ RUN      ] SyscallExit.prctlX_failure
[       OK ] SyscallExit.prctlX_failure (515 ms)
[ RUN      ] SyscallExit.prctlX_get_child_subreaper
[       OK ] SyscallExit.prctlX_get_child_subreaper (519 ms)
[ RUN      ] SyscallExit.prctlX_set_child_subreaper
[       OK ] SyscallExit.prctlX_set_child_subreaper (519 ms)
[ RUN      ] SyscallExit.prctlX_set_name
[       OK ] SyscallExit.prctlX_set_name (555 ms)
[ RUN      ] SyscallExit.preadX_fail
[       OK ] SyscallExit.preadX_fail (631 ms)
[ RUN      ] SyscallExit.preadvX_fail
[       OK ] SyscallExit.preadvX_fail (551 ms)
[ RUN      ] SyscallExit.process_vm_readvX_failure
[       OK ] SyscallExit.process_vm_readvX_failure (539 ms)
[ RUN      ] SyscallExit.process_vm_readvX_success
[       OK ] SyscallExit.process_vm_readvX_success (519 ms)
[ RUN      ] SyscallExit.process_vm_writevX_failure
[       OK ] SyscallExit.process_vm_writevX_failure (515 ms)
[ RUN      ] SyscallExit.process_vm_writevX_success
[       OK ] SyscallExit.process_vm_writevX_success (531 ms)
[ RUN      ] SyscallExit.ptraceX_failure
[       OK ] SyscallExit.ptraceX_failure (523 ms)
[ RUN      ] SyscallExit.pwrite64X_no_snaplen
[       OK ] SyscallExit.pwrite64X_no_snaplen (511 ms)
[ RUN      ] SyscallExit.pwrite64X_snaplen
[       OK ] SyscallExit.pwrite64X_snaplen (523 ms)
[ RUN      ] SyscallExit.pwrite64X_fail
[       OK ] SyscallExit.pwrite64X_fail (515 ms)
[ RUN      ] SyscallExit.pwritevX_no_snaplen
[       OK ] SyscallExit.pwritevX_no_snaplen (515 ms)
[ RUN      ] SyscallExit.pwritevX_snaplen
[       OK ] SyscallExit.pwritevX_snaplen (515 ms)
[ RUN      ] SyscallExit.pwritevX_empty
[       OK ] SyscallExit.pwritevX_empty (527 ms)
[ RUN      ] SyscallExit.quotactlX
[       OK ] SyscallExit.quotactlX (503 ms)
[ RUN      ] SyscallExit.readvX_fail
[       OK ] SyscallExit.readvX_fail (531 ms)
[ RUN      ] SyscallExit.readvX_success
[       OK ] SyscallExit.readvX_success (571 ms)
[ RUN      ] SyscallExit.recvfromX_tcp_connection_no_snaplen
[       OK ] SyscallExit.recvfromX_tcp_connection_no_snaplen (515 ms)
[ RUN      ] SyscallExit.recvfromX_tcp_connection_snaplen
[       OK ] SyscallExit.recvfromX_tcp_connection_snaplen (519 ms)
[ RUN      ] SyscallExit.recvfromX_tcp_connection_NULL_sockaddr
[       OK ] SyscallExit.recvfromX_tcp_connection_NULL_sockaddr (547 ms)
[ RUN      ] SyscallExit.recvfromX_udp_connection_snaplen
[       OK ] SyscallExit.recvfromX_udp_connection_snaplen (519 ms)
[ RUN      ] SyscallExit.recvfromX_udp_connection_NULL_sockaddr
[       OK ] SyscallExit.recvfromX_udp_connection_NULL_sockaddr (555 ms)
[ RUN      ] SyscallExit.recvfromX_fail
[       OK ] SyscallExit.recvfromX_fail (519 ms)
[ RUN      ] SyscallExit.recvmmsgX
[       OK ] SyscallExit.recvmmsgX (463 ms)
[ RUN      ] SyscallExit.recvmsgX_tcp_connection_no_snaplen
/home/yzw/libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp:97: Skipped
[RECVMSG_X]: we receive an empty tuple but we have all the data in the kernel to obtain the correct tuple

[  SKIPPED ] SyscallExit.recvmsgX_tcp_connection_no_snaplen (463 ms)
[ RUN      ] SyscallExit.recvmsgX_tcp_connection_snaplen
/home/yzw/libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp:195: Skipped
[RECVMSG_X]: we receive an empty tuple but we have all the data in the kernel to obtain the correct tuple

[  SKIPPED ] SyscallExit.recvmsgX_tcp_connection_snaplen (519 ms)
[ RUN      ] SyscallExit.recvmsgX_tcp_connection_NULL_sockaddr
/home/yzw/libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp:293: Skipped
[RECVMSG_X]: we receive an empty tuple because the pointer to sockaddr is NULL, but we should rely on kernel structs

[  SKIPPED ] SyscallExit.recvmsgX_tcp_connection_NULL_sockaddr (519 ms)
[ RUN      ] SyscallExit.recvmsgX_udp_connection_snaplen
[       OK ] SyscallExit.recvmsgX_udp_connection_snaplen (499 ms)
[ RUN      ] SyscallExit.recvmsgX_udp_connection_NULL_sockaddr
/home/yzw/libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp:469: Skipped
[RECVMSG_X]: we send an empty tuple, but we can at least send the dest ip and source

[  SKIPPED ] SyscallExit.recvmsgX_udp_connection_NULL_sockaddr (511 ms)
[ RUN      ] SyscallExit.recvmsgX_fail
[       OK ] SyscallExit.recvmsgX_fail (511 ms)
[ RUN      ] SyscallExit.recvmsg_ancillary_data
[       OK ] SyscallExit.recvmsg_ancillary_data (511 ms)
[ RUN      ] SyscallExit.renameat2X
[       OK ] SyscallExit.renameat2X (503 ms)
[ RUN      ] SyscallExit.seccompX
[       OK ] SyscallExit.seccompX (511 ms)
[ RUN      ] SyscallExit.semctlX
[       OK ] SyscallExit.semctlX (419 ms)
[ RUN      ] SyscallExit.semgetX
[       OK ] SyscallExit.semgetX (399 ms)
[ RUN      ] SyscallExit.semopX_null_pointer
[       OK ] SyscallExit.semopX_null_pointer (535 ms)
[ RUN      ] SyscallExit.semopX_wrong_nops
[       OK ] SyscallExit.semopX_wrong_nops (511 ms)
[ RUN      ] SyscallExit.semopX_1_operation
[       OK ] SyscallExit.semopX_1_operation (579 ms)
[ RUN      ] SyscallExit.semopX_2_operation
[       OK ] SyscallExit.semopX_2_operation (515 ms)
[ RUN      ] SyscallExit.sendfileX_null_pointer
[       OK ] SyscallExit.sendfileX_null_pointer (515 ms)
[ RUN      ] SyscallExit.sendfileX
[       OK ] SyscallExit.sendfileX (511 ms)
[ RUN      ] SyscallExit.sendmmsgX
[       OK ] SyscallExit.sendmmsgX (519 ms)
[ RUN      ] SyscallExit.sendmsgX_no_snaplen
[       OK ] SyscallExit.sendmsgX_no_snaplen (507 ms)
[ RUN      ] SyscallExit.sendmsgX_snaplen
[       OK ] SyscallExit.sendmsgX_snaplen (515 ms)
[ RUN      ] SyscallExit.sendmsgX_fail
/home/yzw/libs/test/drivers/test_suites/syscall_exit_suite/sendmsg_x.cpp:194: Skipped
[SENDMSG_X]: what we receive is correct but we need to reimplement it, see the code

[  SKIPPED ] SyscallExit.sendmsgX_fail (567 ms)
[ RUN      ] SyscallExit.sendmsgX_null_iovec
/home/yzw/libs/test/drivers/test_suites/syscall_exit_suite/sendmsg_x.cpp:252: Skipped
[SENDMSG_X]: what we receive is correct but we need to reimplement it, see the code

[  SKIPPED ] SyscallExit.sendmsgX_null_iovec (547 ms)
[ RUN      ] SyscallExit.sendmsgX_null_msghdr
[       OK ] SyscallExit.sendmsgX_null_msghdr (515 ms)
[ RUN      ] SyscallExit.sendtoX_no_snaplen
[       OK ] SyscallExit.sendtoX_no_snaplen (511 ms)
[ RUN      ] SyscallExit.sendtoX_snaplen
[       OK ] SyscallExit.sendtoX_snaplen (519 ms)
[ RUN      ] SyscallExit.sendtoX_fail
[       OK ] SyscallExit.sendtoX_fail (543 ms)
[ RUN      ] SyscallExit.sendtoX_empty
[       OK ] SyscallExit.sendtoX_empty (523 ms)
[ RUN      ] SyscallExit.setgidX
[       OK ] SyscallExit.setgidX (507 ms)
[ RUN      ] SyscallExit.setnsX
[       OK ] SyscallExit.setnsX (515 ms)
[ RUN      ] SyscallExit.setpgidX
[       OK ] SyscallExit.setpgidX (511 ms)
[ RUN      ] SyscallExit.setresgidX
[       OK ] SyscallExit.setresgidX (519 ms)
[ RUN      ] SyscallExit.setresuidX
[       OK ] SyscallExit.setresuidX (523 ms)
[ RUN      ] SyscallExit.setsidX
[       OK ] SyscallExit.setsidX (515 ms)
[ RUN      ] SyscallExit.setsockoptX_SO_ERROR
[       OK ] SyscallExit.setsockoptX_SO_ERROR (511 ms)
[ RUN      ] SyscallExit.setsockoptX_SO_RCVTIMEO
[       OK ] SyscallExit.setsockoptX_SO_RCVTIMEO (519 ms)
[ RUN      ] SyscallExit.setsockoptX_SO_COOKIE
[       OK ] SyscallExit.setsockoptX_SO_COOKIE (551 ms)
[ RUN      ] SyscallExit.setsockoptX_SO_PASSCRED
[       OK ] SyscallExit.setsockoptX_SO_PASSCRED (559 ms)
[ RUN      ] SyscallExit.setsockoptX_UNKNOWN_OPTION
[       OK ] SyscallExit.setsockoptX_UNKNOWN_OPTION (515 ms)
[ RUN      ] SyscallExit.setsockoptX_SOL_UNKNOWN
[       OK ] SyscallExit.setsockoptX_SOL_UNKNOWN (527 ms)
[ RUN      ] SyscallExit.setsockoptX_ZERO_OPTLEN
[       OK ] SyscallExit.setsockoptX_ZERO_OPTLEN (539 ms)
[ RUN      ] SyscallExit.setuidX
[       OK ] SyscallExit.setuidX (507 ms)
[ RUN      ] SyscallExit.shutdownX
[       OK ] SyscallExit.shutdownX (515 ms)
[ RUN      ] SyscallExit.signalfd4X
[       OK ] SyscallExit.signalfd4X (515 ms)
[ RUN      ] SyscallExit.socketX
[       OK ] SyscallExit.socketX (555 ms)
[ RUN      ] SyscallExit.socketpairX_success
[       OK ] SyscallExit.socketpairX_success (511 ms)
[ RUN      ] SyscallExit.socketpairX_failure
[       OK ] SyscallExit.socketpairX_failure (531 ms)
[ RUN      ] SyscallExit.spliceX
[       OK ] SyscallExit.spliceX (543 ms)
[ RUN      ] SyscallExit.symlinkatX
[       OK ] SyscallExit.symlinkatX (515 ms)
[ RUN      ] SyscallExit.tgkillX
[       OK ] SyscallExit.tgkillX (511 ms)
[ RUN      ] SyscallExit.timerfd_createX
[       OK ] SyscallExit.timerfd_createX (515 ms)
[ RUN      ] SyscallExit.tkillX
[       OK ] SyscallExit.tkillX (511 ms)
[ RUN      ] SyscallExit.umount2X
[       OK ] SyscallExit.umount2X (515 ms)
[ RUN      ] SyscallExit.unlinkatX
[       OK ] SyscallExit.unlinkatX (507 ms)
[ RUN      ] SyscallExit.unshareX
[       OK ] SyscallExit.unshareX (515 ms)
[ RUN      ] SyscallExit.userfaultfdX
[       OK ] SyscallExit.userfaultfdX (515 ms)
[ RUN      ] SyscallExit.writeX_no_snaplen
[       OK ] SyscallExit.writeX_no_snaplen (515 ms)
[ RUN      ] SyscallExit.writeX_snaplen
[       OK ] SyscallExit.writeX_snaplen (515 ms)
[ RUN      ] SyscallExit.writeX_fail
[       OK ] SyscallExit.writeX_fail (515 ms)
[ RUN      ] SyscallExit.writeX_empty
[       OK ] SyscallExit.writeX_empty (515 ms)
[ RUN      ] SyscallExit.writevX_no_snaplen
[       OK ] SyscallExit.writevX_no_snaplen (515 ms)
[ RUN      ] SyscallExit.writevX_snaplen
[       OK ] SyscallExit.writevX_snaplen (515 ms)
[ RUN      ] SyscallExit.writevX_empty
[       OK ] SyscallExit.writevX_empty (515 ms)
[----------] 214 tests from SyscallExit (111575 ms total)

[----------] 128 tests from SyscallEnter
[ RUN      ] SyscallEnter.futexX
[       OK ] SyscallEnter.futexX (527 ms)
[ RUN      ] SyscallEnter.mknodatE_failure
[       OK ] SyscallEnter.mknodatE_failure (515 ms)
[ RUN      ] SyscallEnter.accept4E
[       OK ] SyscallEnter.accept4E (511 ms)
[ RUN      ] SyscallEnter.acceptE
[       OK ] SyscallEnter.acceptE (515 ms)
[ RUN      ] SyscallEnter.bindE
[       OK ] SyscallEnter.bindE (515 ms)
[ RUN      ] SyscallEnter.bpfE
[       OK ] SyscallEnter.bpfE (531 ms)
[ RUN      ] SyscallEnter.brkE
[       OK ] SyscallEnter.brkE (507 ms)
[ RUN      ] SyscallEnter.capsetE
[       OK ] SyscallEnter.capsetE (512 ms)
[ RUN      ] SyscallEnter.chdirE
[       OK ] SyscallEnter.chdirE (511 ms)
[ RUN      ] SyscallEnter.chrootE
[       OK ] SyscallEnter.chrootE (515 ms)
[ RUN      ] SyscallEnter.clone3E
[       OK ] SyscallEnter.clone3E (487 ms)
[ RUN      ] SyscallEnter.cloneE
[       OK ] SyscallEnter.cloneE (511 ms)
[ RUN      ] SyscallEnter.closeE
[       OK ] SyscallEnter.closeE (531 ms)
[ RUN      ] SyscallEnter.connectE_INET
/home/yzw/libs/test/drivers/test_suites/syscall_enter_suite/connect_e.cpp:48: Skipped
[CONNECT_E]: what we receive is correct but we need to reimplement it, see the code

[  SKIPPED ] SyscallEnter.connectE_INET (507 ms)
[ RUN      ] SyscallEnter.connectE_INET6
/home/yzw/libs/test/drivers/test_suites/syscall_enter_suite/connect_e.cpp:99: Skipped
[CONNECT_E]: what we receive is correct but we need to reimplement it, see the code

[  SKIPPED ] SyscallEnter.connectE_INET6 (511 ms)
[ RUN      ] SyscallEnter.connectE_UNIX
/home/yzw/libs/test/drivers/test_suites/syscall_enter_suite/connect_e.cpp:153: Skipped
[CONNECT_E]: what we receive is correct but we need to reimplement it, see the code

[  SKIPPED ] SyscallEnter.connectE_UNIX (535 ms)
[ RUN      ] SyscallEnter.connectE_UNIX_max_path
/home/yzw/libs/test/drivers/test_suites/syscall_enter_suite/connect_e.cpp:215: Skipped
[CONNECT_E]: what we receive is correct but we need to reimplement it, see the code

[  SKIPPED ] SyscallEnter.connectE_UNIX_max_path (511 ms)
[ RUN      ] SyscallEnter.connectE_null_sockaddr
[       OK ] SyscallEnter.connectE_null_sockaddr (531 ms)
[ RUN      ] SyscallEnter.copy_file_rangeE
[       OK ] SyscallEnter.copy_file_rangeE (519 ms)
[ RUN      ] SyscallEnter.dup3E
[       OK ] SyscallEnter.dup3E (523 ms)
[ RUN      ] SyscallEnter.dupE
[       OK ] SyscallEnter.dupE (511 ms)
[ RUN      ] SyscallEnter.epoll_create1E
[       OK ] SyscallEnter.epoll_create1E (511 ms)
[ RUN      ] SyscallEnter.eventfd2E
[       OK ] SyscallEnter.eventfd2E (507 ms)
[ RUN      ] SyscallEnter.execveE
[       OK ] SyscallEnter.execveE (467 ms)
[ RUN      ] SyscallEnter.execveatE
[       OK ] SyscallEnter.execveatE (467 ms)
[ RUN      ] SyscallEnter.fchdirE
[       OK ] SyscallEnter.fchdirE (515 ms)
[ RUN      ] SyscallEnter.fchmodE
[       OK ] SyscallEnter.fchmodE (511 ms)
[ RUN      ] SyscallEnter.fchmodatE
[       OK ] SyscallEnter.fchmodatE (519 ms)
[ RUN      ] SyscallEnter.fchownE
[       OK ] SyscallEnter.fchownE (515 ms)
[ RUN      ] SyscallEnter.fchownatE
[       OK ] SyscallEnter.fchownatE (511 ms)
[ RUN      ] SyscallEnter.fcntlE
[       OK ] SyscallEnter.fcntlE (519 ms)
[ RUN      ] SyscallEnter.finit_moduleE
[       OK ] SyscallEnter.finit_moduleE (515 ms)
[ RUN      ] SyscallEnter.flockE
[       OK ] SyscallEnter.flockE (515 ms)
[ RUN      ] SyscallEnter.fsconfigE
[       OK ] SyscallEnter.fsconfigE (519 ms)
[ RUN      ] SyscallEnter.futexE
[       OK ] SyscallEnter.futexE (519 ms)
[ RUN      ] SyscallEnter.genericE
[       OK ] SyscallEnter.genericE (511 ms)
[ RUN      ] SyscallEnter.getcwdE
[       OK ] SyscallEnter.getcwdE (515 ms)
[ RUN      ] SyscallEnter.getdents64E
[       OK ] SyscallEnter.getdents64E (519 ms)
[ RUN      ] SyscallEnter.getegidE
[       OK ] SyscallEnter.getegidE (515 ms)
[ RUN      ] SyscallEnter.geteuidE
[       OK ] SyscallEnter.geteuidE (515 ms)
[ RUN      ] SyscallEnter.getgidE
[       OK ] SyscallEnter.getgidE (527 ms)
[ RUN      ] SyscallEnter.getpeernameE
[       OK ] SyscallEnter.getpeernameE (503 ms)
[ RUN      ] SyscallEnter.getresgidE
[       OK ] SyscallEnter.getresgidE (515 ms)
[ RUN      ] SyscallEnter.getresuidE
[       OK ] SyscallEnter.getresuidE (511 ms)
[ RUN      ] SyscallEnter.getsocknameE
[       OK ] SyscallEnter.getsocknameE (515 ms)
[ RUN      ] SyscallEnter.getsockoptE
[       OK ] SyscallEnter.getsockoptE (511 ms)
[ RUN      ] SyscallEnter.getuidE
[       OK ] SyscallEnter.getuidE (519 ms)
[ RUN      ] SyscallEnter.init_moduleE
[       OK ] SyscallEnter.init_moduleE (551 ms)
[ RUN      ] SyscallEnter.inotify_init1E_failure
[       OK ] SyscallEnter.inotify_init1E_failure (515 ms)
[ RUN      ] SyscallEnter.io_uring_enterE
[       OK ] SyscallEnter.io_uring_enterE (519 ms)
[ RUN      ] SyscallEnter.io_uring_registerE
[       OK ] SyscallEnter.io_uring_registerE (515 ms)
[ RUN      ] SyscallEnter.io_uring_setupE
[       OK ] SyscallEnter.io_uring_setupE (507 ms)
[ RUN      ] SyscallEnter.ioctlE
[       OK ] SyscallEnter.ioctlE (523 ms)
[ RUN      ] SyscallEnter.killE
[       OK ] SyscallEnter.killE (511 ms)
[ RUN      ] SyscallEnter.linkatE
[       OK ] SyscallEnter.linkatE (527 ms)
[ RUN      ] SyscallEnter.listenE
[       OK ] SyscallEnter.listenE (511 ms)
[ RUN      ] SyscallEnter.lseekE
[       OK ] SyscallEnter.lseekE (515 ms)
[ RUN      ] SyscallEnter.memfd_createE
[       OK ] SyscallEnter.memfd_createE (527 ms)
[ RUN      ] SyscallEnter.mkdiratE
[       OK ] SyscallEnter.mkdiratE (515 ms)
[ RUN      ] SyscallEnter.mlock2E
[       OK ] SyscallEnter.mlock2E (515 ms)
[ RUN      ] SyscallEnter.mlockE
[       OK ] SyscallEnter.mlockE (515 ms)
[ RUN      ] SyscallEnter.mlockallE
[       OK ] SyscallEnter.mlockallE (519 ms)
[ RUN      ] SyscallEnter.mmapE
[       OK ] SyscallEnter.mmapE (523 ms)
[ RUN      ] SyscallEnter.mountE
[       OK ] SyscallEnter.mountE (511 ms)
[ RUN      ] SyscallEnter.mprotectE
[       OK ] SyscallEnter.mprotectE (515 ms)
[ RUN      ] SyscallEnter.munlockE
[       OK ] SyscallEnter.munlockE (523 ms)
[ RUN      ] SyscallEnter.munlockallE
[       OK ] SyscallEnter.munlockallE (527 ms)
[ RUN      ] SyscallEnter.munmapE
[       OK ] SyscallEnter.munmapE (523 ms)
[ RUN      ] SyscallEnter.nanosleepE
[       OK ] SyscallEnter.nanosleepE (499 ms)
[ RUN      ] SyscallEnter.nanosleepE_fail
[       OK ] SyscallEnter.nanosleepE_fail (511 ms)
[ RUN      ] SyscallEnter.open_by_handle_atE
[       OK ] SyscallEnter.open_by_handle_atE (507 ms)
[ RUN      ] SyscallEnter.openat2E
[       OK ] SyscallEnter.openat2E (519 ms)
[ RUN      ] SyscallEnter.openatE
[       OK ] SyscallEnter.openatE (519 ms)
[ RUN      ] SyscallEnter.pidfd_getfdE
[       OK ] SyscallEnter.pidfd_getfdE (511 ms)
[ RUN      ] SyscallEnter.pidfd_openE
[       OK ] SyscallEnter.pidfd_openE (515 ms)
[ RUN      ] SyscallEnter.pipe2E
[       OK ] SyscallEnter.pipe2E (511 ms)
[ RUN      ] SyscallEnter.ppollE_null_pointers
[       OK ] SyscallEnter.ppollE_null_pointers (515 ms)
[ RUN      ] SyscallEnter.ppollE_valid_pointers
[       OK ] SyscallEnter.ppollE_valid_pointers (523 ms)
[ RUN      ] SyscallEnter.prctlE
[       OK ] SyscallEnter.prctlE (511 ms)
[ RUN      ] SyscallEnter.preadE
[       OK ] SyscallEnter.preadE (515 ms)
[ RUN      ] SyscallEnter.preadvE
[       OK ] SyscallEnter.preadvE (515 ms)
[ RUN      ] SyscallEnter.prlimit64E
[       OK ] SyscallEnter.prlimit64E (511 ms)
[ RUN      ] SyscallEnter.ptraceE
[       OK ] SyscallEnter.ptraceE (515 ms)
[ RUN      ] SyscallEnter.pwrite64E
[       OK ] SyscallEnter.pwrite64E (523 ms)
[ RUN      ] SyscallEnter.pwritevE_empty_iovec
[       OK ] SyscallEnter.pwritevE_empty_iovec (515 ms)
[ RUN      ] SyscallEnter.pwritevE_full_iovec
[       OK ] SyscallEnter.pwritevE_full_iovec (523 ms)
[ RUN      ] SyscallEnter.quotactlE
[       OK ] SyscallEnter.quotactlE (567 ms)
[ RUN      ] SyscallEnter.readE
[       OK ] SyscallEnter.readE (523 ms)
[ RUN      ] SyscallEnter.readvE
[       OK ] SyscallEnter.readvE (571 ms)
[ RUN      ] SyscallEnter.recvfromE
[       OK ] SyscallEnter.recvfromE (527 ms)
[ RUN      ] SyscallEnter.recvmmsgE
[       OK ] SyscallEnter.recvmmsgE (535 ms)
[ RUN      ] SyscallEnter.recvmsgE
[       OK ] SyscallEnter.recvmsgE (531 ms)
[ RUN      ] SyscallEnter.renameat2E
[       OK ] SyscallEnter.renameat2E (515 ms)
[ RUN      ] SyscallEnter.seccompE
[       OK ] SyscallEnter.seccompE (511 ms)
[ RUN      ] SyscallEnter.semctlE
[       OK ] SyscallEnter.semctlE (515 ms)
[ RUN      ] SyscallEnter.semgetE
[       OK ] SyscallEnter.semgetE (523 ms)
[ RUN      ] SyscallEnter.semopE
[       OK ] SyscallEnter.semopE (579 ms)
[ RUN      ] SyscallEnter.sendfileE_null_pointer
[       OK ] SyscallEnter.sendfileE_null_pointer (539 ms)
[ RUN      ] SyscallEnter.sendfileE
[       OK ] SyscallEnter.sendfileE (555 ms)
[ RUN      ] SyscallEnter.sendmmsgE
[       OK ] SyscallEnter.sendmmsgE (515 ms)
[ RUN      ] SyscallEnter.sendmsgE
[       OK ] SyscallEnter.sendmsgE (523 ms)
[ RUN      ] SyscallEnter.sendmsgE_udp
[       OK ] SyscallEnter.sendmsgE_udp (535 ms)
[ RUN      ] SyscallEnter.sendtoE
[       OK ] SyscallEnter.sendtoE (519 ms)
[ RUN      ] SyscallEnter.sendtoE_udp
[       OK ] SyscallEnter.sendtoE_udp (523 ms)
[ RUN      ] SyscallEnter.setgidE
[       OK ] SyscallEnter.setgidE (519 ms)
[ RUN      ] SyscallEnter.setnsE
[       OK ] SyscallEnter.setnsE (515 ms)
[ RUN      ] SyscallEnter.setpgidE
[       OK ] SyscallEnter.setpgidE (527 ms)
[ RUN      ] SyscallEnter.setresgidE
[       OK ] SyscallEnter.setresgidE (527 ms)
[ RUN      ] SyscallEnter.setresuidE
[       OK ] SyscallEnter.setresuidE (515 ms)
[ RUN      ] SyscallEnter.setsidE
[       OK ] SyscallEnter.setsidE (511 ms)
[ RUN      ] SyscallEnter.setsockoptE
[       OK ] SyscallEnter.setsockoptE (511 ms)
[ RUN      ] SyscallEnter.setuidE
[       OK ] SyscallEnter.setuidE (527 ms)
[ RUN      ] SyscallEnter.shutdownE
[       OK ] SyscallEnter.shutdownE (511 ms)
[ RUN      ] SyscallEnter.signalfd4E
[       OK ] SyscallEnter.signalfd4E (515 ms)
[ RUN      ] SyscallEnter.socketE
[       OK ] SyscallEnter.socketE (511 ms)
[ RUN      ] SyscallEnter.socketpairE
[       OK ] SyscallEnter.socketpairE (511 ms)
[ RUN      ] SyscallEnter.spliceE
[       OK ] SyscallEnter.spliceE (511 ms)
[ RUN      ] SyscallEnter.symlinkatE
[       OK ] SyscallEnter.symlinkatE (535 ms)
[ RUN      ] SyscallEnter.tgkillE
[       OK ] SyscallEnter.tgkillE (515 ms)
[ RUN      ] SyscallEnter.timerfd_createE
[       OK ] SyscallEnter.timerfd_createE (515 ms)
[ RUN      ] SyscallEnter.tkillE
[       OK ] SyscallEnter.tkillE (511 ms)
[ RUN      ] SyscallEnter.umount2E
[       OK ] SyscallEnter.umount2E (515 ms)
[ RUN      ] SyscallEnter.unlinkatE
[       OK ] SyscallEnter.unlinkatE (515 ms)
[ RUN      ] SyscallEnter.unshareE
[       OK ] SyscallEnter.unshareE (515 ms)
[ RUN      ] SyscallEnter.userfaultfdE
[       OK ] SyscallEnter.userfaultfdE (511 ms)
[ RUN      ] SyscallEnter.writeE
[       OK ] SyscallEnter.writeE (515 ms)
[ RUN      ] SyscallEnter.writevE_empty_iovec
[       OK ] SyscallEnter.writevE_empty_iovec (507 ms)
[ RUN      ] SyscallEnter.writevE_full_iovec
[       OK ] SyscallEnter.writevE_full_iovec (507 ms)
[----------] 128 tests from SyscallEnter (66427 ms total)

[----------] 13 tests from GenericTracepoints
[ RUN      ] GenericTracepoints.sched_proc_exit_no_children
[       OK ] GenericTracepoints.sched_proc_exit_no_children (539 ms)
[ RUN      ] GenericTracepoints.sched_proc_exit_prctl_subreaper
[       OK ] GenericTracepoints.sched_proc_exit_prctl_subreaper (1571 ms)
[ RUN      ] GenericTracepoints.sched_proc_exit_child_namespace_reaper
[       OK ] GenericTracepoints.sched_proc_exit_child_namespace_reaper (1587 ms)
[ RUN      ] GenericTracepoints.sched_proc_exit_child_namespace_reaper_die
[       OK ] GenericTracepoints.sched_proc_exit_child_namespace_reaper_die (559 ms)
[ RUN      ] GenericTracepoints.sched_proc_exit_reaper_in_the_same_group
[       OK ] GenericTracepoints.sched_proc_exit_reaper_in_the_same_group (2539 ms)
[ RUN      ] GenericTracepoints.sched_proc_fork_case_clone3
[       OK ] GenericTracepoints.sched_proc_fork_case_clone3 (503 ms)
[ RUN      ] GenericTracepoints.sched_proc_fork_case_clone3_create_child_with_2_threads
[       OK ] GenericTracepoints.sched_proc_fork_case_clone3_create_child_with_2_threads (535 ms)
[ RUN      ] GenericTracepoints.sched_proc_fork_case_clone3_child_clone_parent_flag
[       OK ] GenericTracepoints.sched_proc_fork_case_clone3_child_clone_parent_flag (499 ms)
[ RUN      ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_from_child
[       OK ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_from_child (507 ms)
[ RUN      ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_create_thread
[       OK ] GenericTracepoints.sched_proc_fork_case_clone3_child_new_namespace_create_thread (499 ms)
[ RUN      ] GenericTracepoints.sched_proc_fork_case_clone
[       OK ] GenericTracepoints.sched_proc_fork_case_clone (503 ms)
[ RUN      ] GenericTracepoints.sched_switch
[       OK ] GenericTracepoints.sched_switch (547 ms)
[ RUN      ] GenericTracepoints.signal_deliver
[       OK ] GenericTracepoints.signal_deliver (539 ms)
[----------] 13 tests from GenericTracepoints (10939 ms total)

[----------] 28 tests from Actions
[ RUN      ] Actions.drop_failed_enter
[       OK ] Actions.drop_failed_enter (507 ms)
[ RUN      ] Actions.drop_failed_exit
[       OK ] Actions.drop_failed_exit (579 ms)
[ RUN      ] Actions.drop_failed_successful
[       OK ] Actions.drop_failed_successful (511 ms)
[ RUN      ] Actions.dynamic_snaplen_negative_fd
[       OK ] Actions.dynamic_snaplen_negative_fd (527 ms)
[ RUN      ] Actions.dynamic_snaplen_no_socket
[       OK ] Actions.dynamic_snaplen_no_socket (519 ms)
[ RUN      ] Actions.dynamic_snaplen_HTTP
[       OK ] Actions.dynamic_snaplen_HTTP (527 ms)
[ RUN      ] Actions.dynamic_snaplen_partial_HTTP_OPT
[       OK ] Actions.dynamic_snaplen_partial_HTTP_OPT (511 ms)
[ RUN      ] Actions.dynamic_snaplen_HTTP_TRACE
[       OK ] Actions.dynamic_snaplen_HTTP_TRACE (503 ms)
[ RUN      ] Actions.dynamic_snaplen_MYSQL
[       OK ] Actions.dynamic_snaplen_MYSQL (499 ms)
[ RUN      ] Actions.dynamic_snaplen_not_MYSQL
[       OK ] Actions.dynamic_snaplen_not_MYSQL (527 ms)
[ RUN      ] Actions.dynamic_snaplen_POSTGRES
[       OK ] Actions.dynamic_snaplen_POSTGRES (515 ms)
[ RUN      ] Actions.dynamic_snaplen_not_POSTGRES
[       OK ] Actions.dynamic_snaplen_not_POSTGRES (523 ms)
[ RUN      ] Actions.dynamic_snaplen_MONGO
[       OK ] Actions.dynamic_snaplen_MONGO (507 ms)
[ RUN      ] Actions.dynamic_snaplen_not_MONGO
[       OK ] Actions.dynamic_snaplen_not_MONGO (535 ms)
[ RUN      ] Actions.dynamic_snaplen_fullcapture_port_range
[       OK ] Actions.dynamic_snaplen_fullcapture_port_range (531 ms)
[ RUN      ] Actions.dynamic_snaplen_statsd_port
[       OK ] Actions.dynamic_snaplen_statsd_port (527 ms)
[ RUN      ] Actions.dynamic_snaplen_no_statsd_port
[       OK ] Actions.dynamic_snaplen_no_statsd_port (539 ms)
[ RUN      ] Actions.read_in_order_from_buffer
[       OK ] Actions.read_in_order_from_buffer (347 ms)
[ RUN      ] Actions.sampling_ratio_UF_ALWAYS_DROP
[       OK ] Actions.sampling_ratio_UF_ALWAYS_DROP (571 ms)
[ RUN      ] Actions.sampling_ratio_NO_FLAGS
[       OK ] Actions.sampling_ratio_NO_FLAGS (523 ms)
[ RUN      ] Actions.sampling_ratio_dropping_FCNTL_E
[       OK ] Actions.sampling_ratio_dropping_FCNTL_E (607 ms)
[ RUN      ] Actions.sampling_ratio_dropping_FCNTL_X
[       OK ] Actions.sampling_ratio_dropping_FCNTL_X (607 ms)
[ RUN      ] Actions.sampling_ratio_dropping_CLOSE_E_invalid_fd
[       OK ] Actions.sampling_ratio_dropping_CLOSE_E_invalid_fd (579 ms)
[ RUN      ] Actions.sampling_ratio_dropping_CLOSE_E_max_fds
[       OK ] Actions.sampling_ratio_dropping_CLOSE_E_max_fds (575 ms)
[ RUN      ] Actions.sampling_ratio_dropping_CLOSE_E_already_closed_fd
[       OK ] Actions.sampling_ratio_dropping_CLOSE_E_already_closed_fd (607 ms)
[ RUN      ] Actions.sampling_ratio_dropping_CLOSE_X
[       OK ] Actions.sampling_ratio_dropping_CLOSE_X (583 ms)
[ RUN      ] Actions.sampling_ratio_dropping_BIND_X
[       OK ] Actions.sampling_ratio_dropping_BIND_X (611 ms)
[ RUN      ] Actions.sampling_ratio_check_DROP_E_DROP_X
[       OK ] Actions.sampling_ratio_check_DROP_E_DROP_X (2307 ms)
[----------] 28 tests from Actions (16831 ms total)

[----------] Global test environment tear-down
[==========] 383 tests from 4 test suites ran. (205775 ms total)
[  PASSED  ] 373 tests.
[  SKIPPED ] 10 tests, listed below:
[  SKIPPED ] SyscallExit.recvmsgX_tcp_connection_no_snaplen
[  SKIPPED ] SyscallExit.recvmsgX_tcp_connection_snaplen
[  SKIPPED ] SyscallExit.recvmsgX_tcp_connection_NULL_sockaddr
[  SKIPPED ] SyscallExit.recvmsgX_udp_connection_NULL_sockaddr
[  SKIPPED ] SyscallExit.sendmsgX_fail
[  SKIPPED ] SyscallExit.sendmsgX_null_iovec
[  SKIPPED ] SyscallEnter.connectE_INET
[  SKIPPED ] SyscallEnter.connectE_INET6
[  SKIPPED ] SyscallEnter.connectE_UNIX
[  SKIPPED ] SyscallEnter.connectE_UNIX_max_path

-----------------------------------------------------
- Teardown phase
-----------------------------------------------------

yzewei avatar Apr 18 '24 12:04 yzewei

@FedeDP Due to some problems with the bpf module, we are still communicating with the llvm community and may continue to submit relevant PR in the future. [https://github.com/llvm/llvm-project/issues/86780](llvm compiler error) Special thanks to @Andreagit97 @FedeDP @poiana for teaching me and being patient during this process.

yzewei avatar Apr 18 '24 12:04 yzewei

You are welcome (also, you did a great great job btw!)

FedeDP avatar Apr 18 '24 13:04 FedeDP