@@ -264,9 +264,12 @@ TEST(GenericTracepoints, sched_proc_exec_execve) {
264264 /* Parameter 30: egid (type: PT_GID) */
265265 evt_test->assert_numeric_param (30 , (uint32_t )getegid (), EQUAL);
266266
267+ /* Parameter 31: filename (type: PT_FSPATH) */
268+ evt_test->assert_charbuf_param (31 , pathname);
269+
267270 /* =============================== ASSERT PARAMETERS ===========================*/
268271
269- evt_test->assert_num_params_pushed (30 );
272+ evt_test->assert_num_params_pushed (31 );
270273}
271274
272275#if defined(__NR_memfd_create) && defined(__NR_openat) && defined(__NR_read) && defined(__NR_write)
@@ -378,9 +381,14 @@ TEST(GenericTracepoints, sched_proc_exec_execve_memfd) {
378381 evt_test->assert_charbuf_param (28 , " memfd:malware" );
379382 }
380383
384+ /* Parameter 31: filename (type: PT_FSPATH) */
385+ char pathname[200 ];
386+ snprintf (pathname, sizeof (pathname), " /proc/%d/fd/%d" , ret_pid, mem_fd);
387+ evt_test->assert_charbuf_param (31 , pathname);
388+
381389 /* =============================== ASSERT PARAMETERS ===========================*/
382390
383- evt_test->assert_num_params_pushed (30 );
391+ evt_test->assert_num_params_pushed (31 );
384392}
385393#endif
386394
@@ -510,9 +518,12 @@ TEST(GenericTracepoints, sched_proc_exec_execve_not_upperlayer) {
510518 /* Parameter 30: egid (type: PT_GID) */
511519 evt_test->assert_numeric_param (30 , (uint32_t )getegid (), EQUAL);
512520
521+ /* Parameter 31: filename (type: PT_FSPATH) */
522+ evt_test->assert_charbuf_param (31 , merged_exe_path);
523+
513524 /* =============================== ASSERT PARAMETERS ===========================*/
514525
515- evt_test->assert_num_params_pushed (30 );
526+ evt_test->assert_num_params_pushed (31 );
516527}
517528
518529TEST (GenericTracepoints, sched_proc_exec_execve_upperlayer) {
@@ -640,9 +651,12 @@ TEST(GenericTracepoints, sched_proc_exec_execve_upperlayer) {
640651 /* Parameter 30: egid (type: PT_GID) */
641652 evt_test->assert_numeric_param (30 , (uint32_t )getegid (), EQUAL);
642653
654+ /* Parameter 31: filename (type: PT_FSPATH) */
655+ evt_test->assert_charbuf_param (31 , pathname);
656+
643657 /* =============================== ASSERT PARAMETERS ===========================*/
644658
645- evt_test->assert_num_params_pushed (30 );
659+ evt_test->assert_num_params_pushed (31 );
646660}
647661
648662#if defined(__NR_symlinkat) && defined(__NR_unlinkat)
@@ -734,9 +748,12 @@ TEST(GenericTracepoints, sched_proc_exec_execve_symlink) {
734748 /* Parameter 28: resolve_path (type: PT_CHARBUF) */
735749 evt_test->assert_charbuf_param (28 , pathname);
736750
751+ /* Parameter 31: filename (type: PT_FSPATH) */
752+ evt_test->assert_charbuf_param (31 , linkpath);
753+
737754 /* =============================== ASSERT PARAMETERS ===========================*/
738755
739- evt_test->assert_num_params_pushed (30 );
756+ evt_test->assert_num_params_pushed (31 );
740757}
741758#endif
742759
@@ -820,7 +837,7 @@ TEST(GenericTracepoints, sched_proc_exec_execveat) {
820837
821838 /* Please note here we cannot assert all the params, we check only the possible ones. */
822839
823- /* Parameter 1: res (type: PT_ERRNO)*/
840+ /* Parameter 1: res (type: PT_ERRNO) */
824841 evt_test->assert_numeric_param (1 , (int64_t )0 );
825842
826843 /* Parameter 2: exe (type: PT_CHARBUF) */
@@ -899,9 +916,12 @@ TEST(GenericTracepoints, sched_proc_exec_execveat) {
899916 /* Parameter 30: egid (type: PT_GID) */
900917 evt_test->assert_numeric_param (30 , (uint32_t )getegid (), EQUAL);
901918
919+ /* Parameter 31: filename (type: PT_FSPATH) */
920+ evt_test->assert_charbuf_param (31 , pathname);
921+
902922 /* =============================== ASSERT PARAMETERS ===========================*/
903923
904- evt_test->assert_num_params_pushed (30 );
924+ evt_test->assert_num_params_pushed (31 );
905925}
906926
907927#if defined(__NR_memfd_create) && defined(__NR_openat) && defined(__NR_read) && defined(__NR_write)
@@ -1013,14 +1033,19 @@ TEST(GenericTracepoints, sched_proc_exec_execveat_memfd) {
10131033 evt_test->assert_charbuf_param (28 , " memfd:malware" );
10141034 }
10151035
1036+ /* Parameter 31: filename (type: PT_FSPATH) */
1037+ char pathname[200 ];
1038+ snprintf (pathname, sizeof (pathname), " /proc/%d/fd/%d" , ret_pid, mem_fd);
1039+ evt_test->assert_charbuf_param (31 , pathname);
1040+
10161041 /* =============================== ASSERT PARAMETERS ===========================*/
10171042
1018- evt_test->assert_num_params_pushed (30 );
1043+ evt_test->assert_num_params_pushed (31 );
10191044}
10201045#endif // defined(__NR_memfd_create) && defined(__NR_openat) && defined(__NR_read) &&
10211046 // defined(__NR_write)
10221047
1023- TEST (GenericTracepoints, sched_proc_exec_execveat_comm_equal_to_fd ) {
1048+ TEST (GenericTracepoints, sched_proc_exec_execveat_comm_equal_to_fd_in_old_kernel_versions ) {
10241049 auto evt_test = get_syscall_event_test (__NR_execve, EXIT_EVENT);
10251050
10261051 evt_test->enable_capture ();
@@ -1036,9 +1061,11 @@ TEST(GenericTracepoints, sched_proc_exec_execveat_comm_equal_to_fd) {
10361061
10371062 // We will use the `AT_EMPTY_PATH` strategy
10381063 const char *pathname = " " ;
1039- const char *argv[] = {pathname,
1040- " [OUTPUT] GenericTracepoints.sched_proc_exec_execveat_comm_equal_to_fd" ,
1041- NULL };
1064+ const char *argv[] = {
1065+ pathname,
1066+ " [OUTPUT] "
1067+ " GenericTracepoints.sched_proc_exec_execveat_comm_equal_to_fd_in_old_kernel_versions" ,
1068+ NULL };
10421069 const char *envp[] = {" IN_TEST=yes" , " 3_ARGUMENT=yes" , " 2_ARGUMENT=no" , NULL };
10431070 int flags = AT_EMPTY_PATH;
10441071
@@ -1114,9 +1141,13 @@ TEST(GenericTracepoints, sched_proc_exec_execveat_comm_equal_to_fd) {
11141141 /* Parameter 28: trusted_exepath (type: PT_FSPATH) */
11151142 evt_test->assert_charbuf_param (28 , exe_path.c_str ());
11161143
1144+ /* Parameter 31: filename (type: PT_FSPATH) */
1145+ const std::string dirfd_path{" /dev/fd/" + dirfd_str};
1146+ evt_test->assert_charbuf_param (31 , dirfd_path.c_str ());
1147+
11171148 /* =============================== ASSERT PARAMETERS ===========================*/
11181149
1119- evt_test->assert_num_params_pushed (30 );
1150+ evt_test->assert_num_params_pushed (31 );
11201151}
11211152
11221153#endif // __NR_execveat
0 commit comments