diff --git a/.github/workflows/drivers_ci.yml b/.github/workflows/drivers_ci.yml index 4ec7de7ac0..09adf83f61 100644 --- a/.github/workflows/drivers_ci.yml +++ b/.github/workflows/drivers_ci.yml @@ -85,7 +85,7 @@ jobs: if: needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true' run: | mkdir -p build - cd build && cmake -DUSE_BUNDLED_DEPS=On -DBUILD_DRIVER=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_BPF=On -DBUILD_LIBSCAP_GVISOR=${{ matrix.enable_gvisor }} -DCREATE_TEST_TARGETS=On -DENABLE_LIBSCAP_TESTS=On ../ + cd build && cmake -DBUILD_WARNINGS_AS_ERRORS=On -DUSE_BUNDLED_DEPS=On -DBUILD_DRIVER=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DBUILD_BPF=On -DBUILD_LIBSCAP_GVISOR=${{ matrix.enable_gvisor }} -DCREATE_TEST_TARGETS=On -DENABLE_LIBSCAP_TESTS=On ../ make scap-open driver bpf libscap_test -j6 - name: Run scap-open with modern bpf 🏎️ @@ -155,7 +155,7 @@ jobs: if: needs.paths-filter.outputs.driver == 'true' || needs.paths-filter.outputs.libscap == 'true' || needs.paths-filter.outputs.libpman == 'true' run: | mkdir -p build - cd build && cmake -DUSE_BUNDLED_DEPS=ON -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_BPF=True -DBUILD_LIBSCAP_GVISOR=OFF ../ + cd build && cmake -DBUILD_WARNINGS_AS_ERRORS=On -DUSE_BUNDLED_DEPS=ON -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_BPF=True -DBUILD_LIBSCAP_GVISOR=OFF ../ make drivers_test driver bpf -j6 - name: Run drivers_test with modern bpf 🏎️ @@ -202,7 +202,7 @@ jobs: git clone -b $GIT_BRANCH $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git libs cd libs mkdir -p build - cd build && cmake -DUSE_BUNDLED_DEPS=ON -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_BPF=True -DBUILD_LIBSCAP_GVISOR=OFF ../ + cd build && cmake -DBUILD_WARNINGS_AS_ERRORS=On -DUSE_BUNDLED_DEPS=ON -DENABLE_DRIVERS_TESTS=ON -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DBUILD_BPF=True -DBUILD_LIBSCAP_GVISOR=OFF ../ make drivers_test driver bpf -j6 sudo ./test/drivers/drivers_test -m rc_modern=$? @@ -246,7 +246,7 @@ jobs: git config --global --add safe.directory $GITHUB_WORKSPACE .github/install-deps.sh mkdir -p build - cd build && cmake -DBUILD_BPF=On -DUSE_BUNDLED_DEPS=OFF -DMODERN_PROBE_INCLUDE="-I/usr/include/s390x-linux-gnu" -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DENABLE_DRIVERS_TESTS=On -DCREATE_TEST_TARGETS=On -DBUILD_LIBSCAP_GVISOR=OFF ../ + cd build && cmake -DBUILD_WARNINGS_AS_ERRORS=On -DBUILD_BPF=On -DUSE_BUNDLED_DEPS=OFF -DMODERN_PROBE_INCLUDE="-I/usr/include/s390x-linux-gnu" -DBUILD_LIBSCAP_MODERN_BPF=ON -DMODERN_BPF_DEBUG_MODE=ON -DENABLE_DRIVERS_TESTS=On -DCREATE_TEST_TARGETS=On -DBUILD_LIBSCAP_GVISOR=OFF ../ KERNELDIR=/lib/modules/$(ls /lib/modules)/build make driver bpf drivers_test -j6 build-modern-bpf-skeleton: diff --git a/test/drivers/event_class/event_class.h b/test/drivers/event_class/event_class.h index 46e2597ea8..d51ee5521e 100644 --- a/test/drivers/event_class/event_class.h +++ b/test/drivers/event_class/event_class.h @@ -36,15 +36,15 @@ struct fd_poll { struct send_data { int syscall_num; - bool greater_snaplen; - bool null_sockaddr; + bool greater_snaplen = false; + bool null_sockaddr = false; }; struct recv_data { int syscall_num; - bool null_sockaddr; - bool null_receiver_buffer; - bool skip_recv_phase; + bool null_sockaddr = false; + bool null_receiver_buffer = false; + bool skip_recv_phase = false; }; enum protocol_L4 { @@ -387,19 +387,23 @@ class event_test { void client_to_server(send_data send_d, recv_data receive_d, network_config net_config); void client_to_server_ipv4_tcp(send_data send_d, - recv_data receive_d = {.skip_recv_phase = true}, + recv_data receive_d = {.syscall_num = 0, + .skip_recv_phase = true}, int32_t client_port = IP_PORT_CLIENT, int32_t server_port = IP_PORT_SERVER); void client_to_server_ipv4_udp(send_data send_d, - recv_data receive_d = {.skip_recv_phase = true}, + recv_data receive_d = {.syscall_num = 0, + .skip_recv_phase = true}, int32_t client_port = IP_PORT_CLIENT, int32_t server_port = IP_PORT_SERVER); void client_to_server_ipv6_tcp(send_data send_d, - recv_data receive_d = {.skip_recv_phase = true}, + recv_data receive_d = {.syscall_num = 0, + .skip_recv_phase = true}, int32_t client_port = IP_PORT_CLIENT, int32_t server_port = IP_PORT_SERVER); void client_to_server_ipv6_udp(send_data send_d, - recv_data receive_d = {.skip_recv_phase = true}, + recv_data receive_d = {.syscall_num = 0, + .skip_recv_phase = true}, int32_t client_port = IP_PORT_CLIENT, int32_t server_port = IP_PORT_SERVER); diff --git a/test/drivers/test_suites/syscall_exit_suite/execveat_x.cpp b/test/drivers/test_suites/syscall_exit_suite/execveat_x.cpp index dab08a408e..3bf6285d5a 100644 --- a/test/drivers/test_suites/syscall_exit_suite/execveat_x.cpp +++ b/test/drivers/test_suites/syscall_exit_suite/execveat_x.cpp @@ -235,6 +235,7 @@ TEST(SyscallExit, execveatX_correct_exit) { "2_ARGUMENT=no", NULL}; +#if defined(__s390x__) || defined(__riscv) || defined(__powerpc64__) || defined(__loongarch64) bool expect_truncated = true; if(evt_test->is_kmod_engine() && getpagesize() > 4096) { // for kmod, the size limit is actually PAGE_SIZE; @@ -242,6 +243,7 @@ TEST(SyscallExit, execveatX_correct_exit) { // In case PAGE_SIZE is < 4096, expect NON-truncated args/envs expect_truncated = false; } +#endif int flags = 0; diff --git a/test/drivers/test_suites/syscall_exit_suite/sendto_x.cpp b/test/drivers/test_suites/syscall_exit_suite/sendto_x.cpp index a4dc4c25ea..1c9aeb5c78 100644 --- a/test/drivers/test_suites/syscall_exit_suite/sendto_x.cpp +++ b/test/drivers/test_suites/syscall_exit_suite/sendto_x.cpp @@ -141,7 +141,7 @@ TEST(SyscallExit, sendtoX_ipv4_tcp_message_not_truncated_DNS_snaplen) { // The remote port is the DNS one so the snaplen should be increased. evt_test->client_to_server_ipv4_tcp( send_data{.syscall_num = __NR_sendto, .greater_snaplen = true}, - recv_data{.skip_recv_phase = true}, + recv_data{.syscall_num = 0, .skip_recv_phase = true}, IP_PORT_CLIENT, IP_PORT_DNS);