Otherwise they can bring the whole process down.

Cc: Andrii Nakryiko <andr...@fb.com>
Signed-off-by: Stanislav Fomichev <s...@google.com>
---
 .../selftests/bpf/prog_tests/bpf_obj_id.c     | 19 +++++++++++-------
 .../selftests/bpf/prog_tests/map_lock.c       | 20 +++++++++++--------
 .../selftests/bpf/prog_tests/spinlock.c       | 12 ++++++-----
 .../bpf/prog_tests/stacktrace_build_id.c      |  7 ++++---
 .../bpf/prog_tests/stacktrace_build_id_nmi.c  |  7 ++++---
 5 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c 
b/tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c
index b9d0cd312839..acc2fc046b01 100644
--- a/tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c
+++ b/tools/testing/selftests/bpf/prog_tests/bpf_obj_id.c
@@ -48,15 +48,17 @@ void test_bpf_obj_id(void)
                /* test_obj_id.o is a dumb prog. It should never fail
                 * to load.
                 */
-               QCHECK(err);
-               assert(!err);
+               if (QCHECK(err))
+                       continue;
 
                /* Insert a magic value to the map */
                map_fds[i] = bpf_find_map(__func__, objs[i], "test_map_id");
-               assert(map_fds[i] >= 0);
+               if (QCHECK(map_fds[i] < 0))
+                       goto done;
                err = bpf_map_update_elem(map_fds[i], &array_key,
                                          &array_magic_value, 0);
-               assert(!err);
+               if (QCHECK(err))
+                       goto done;
 
                /* Check getting map info */
                info_len = sizeof(struct bpf_map_info) * 2;
@@ -95,9 +97,11 @@ void test_bpf_obj_id(void)
                prog_infos[i].map_ids = ptr_to_u64(map_ids + i);
                prog_infos[i].nr_map_ids = 2;
                err = clock_gettime(CLOCK_REALTIME, &real_time_ts);
-               assert(!err);
+               if (QCHECK(err))
+                       goto done;
                err = clock_gettime(CLOCK_BOOTTIME, &boot_time_ts);
-               assert(!err);
+               if (QCHECK(err))
+                       goto done;
                err = bpf_obj_get_info_by_fd(prog_fds[i], &prog_infos[i],
                                             &info_len);
                load_time = (real_time_ts.tv_sec - boot_time_ts.tv_sec)
@@ -223,7 +227,8 @@ void test_bpf_obj_id(void)
                nr_id_found++;
 
                err = bpf_map_lookup_elem(map_fd, &array_key, &array_value);
-               assert(!err);
+               if (QCHECK(err))
+                       goto done;
 
                err = bpf_obj_get_info_by_fd(map_fd, &map_info, &info_len);
                CHECK(err || info_len != sizeof(struct bpf_map_info) ||
diff --git a/tools/testing/selftests/bpf/prog_tests/map_lock.c 
b/tools/testing/selftests/bpf/prog_tests/map_lock.c
index c1bddc433a5a..7a12129def9a 100644
--- a/tools/testing/selftests/bpf/prog_tests/map_lock.c
+++ b/tools/testing/selftests/bpf/prog_tests/map_lock.c
@@ -54,17 +54,21 @@ void test_map_lock(void)
        bpf_map_update_elem(map_fd[0], &key, vars, BPF_F_LOCK);
 
        for (i = 0; i < 4; i++)
-               assert(pthread_create(&thread_id[i], NULL,
-                                     &spin_lock_thread, &prog_fd) == 0);
+               if (QCHECK(pthread_create(&thread_id[i], NULL,
+                                         &spin_lock_thread, &prog_fd)))
+                       goto close_prog;
        for (i = 4; i < 6; i++)
-               assert(pthread_create(&thread_id[i], NULL,
-                                     &parallel_map_access, &map_fd[i - 4]) == 
0);
+               if (QCHECK(pthread_create(&thread_id[i], NULL,
+                                         &parallel_map_access, &map_fd[i - 
4])))
+                       goto close_prog;
        for (i = 0; i < 4; i++)
-               assert(pthread_join(thread_id[i], &ret) == 0 &&
-                      ret == (void *)&prog_fd);
+               if (QCHECK(pthread_join(thread_id[i], &ret) ||
+                          ret != (void *)&prog_fd))
+                       goto close_prog;
        for (i = 4; i < 6; i++)
-               assert(pthread_join(thread_id[i], &ret) == 0 &&
-                      ret == (void *)&map_fd[i - 4]);
+               if (QCHECK(pthread_join(thread_id[i], &ret) ||
+                          ret != (void *)&map_fd[i - 4]))
+                       goto close_prog;
 close_prog:
        bpf_object__close(obj);
 }
diff --git a/tools/testing/selftests/bpf/prog_tests/spinlock.c 
b/tools/testing/selftests/bpf/prog_tests/spinlock.c
index e4294a7fdf1a..00b4ed1734e0 100644
--- a/tools/testing/selftests/bpf/prog_tests/spinlock.c
+++ b/tools/testing/selftests/bpf/prog_tests/spinlock.c
@@ -16,12 +16,14 @@ void test_spinlock(void)
                goto close_prog;
        }
        for (i = 0; i < 4; i++)
-               assert(pthread_create(&thread_id[i], NULL,
-                                     &spin_lock_thread, &prog_fd) == 0);
-       for (i = 0; i < 4; i++)
-               assert(pthread_join(thread_id[i], &ret) == 0 &&
-                      ret == (void *)&prog_fd);
+               if (QCHECK(pthread_create(&thread_id[i], NULL,
+                                         &spin_lock_thread, &prog_fd)))
+                       goto close_prog;
 
+       for (i = 0; i < 4; i++)
+               if (QCHECK(pthread_join(thread_id[i], &ret) ||
+                          ret != (void *)&prog_fd))
+                       goto close_prog;
 close_prog:
        bpf_object__close(obj);
 }
diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id.c 
b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id.c
index ac44fda84833..552e07e7800c 100644
--- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id.c
+++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id.c
@@ -51,9 +51,10 @@ void test_stacktrace_build_id(void)
                  "err %d errno %d\n", err, errno))
                goto disable_pmu;
 
-       assert(system("dd if=/dev/urandom of=/dev/zero count=4 2> /dev/null")
-              == 0);
-       assert(system("./urandom_read") == 0);
+       if (QCHECK(system("dd if=/dev/urandom of=/dev/zero count=4 2> 
/dev/null")))
+               goto disable_pmu;
+       if (QCHECK(system("./urandom_read")))
+               goto disable_pmu;
        /* disable stack trace collection */
        key = 0;
        val = 1;
diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c 
b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
index 9557b7dfb782..1553c848edc5 100644
--- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
+++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c
@@ -82,9 +82,10 @@ void test_stacktrace_build_id_nmi(void)
                  "err %d errno %d\n", err, errno))
                goto disable_pmu;
 
-       assert(system("dd if=/dev/urandom of=/dev/zero count=4 2> /dev/null")
-              == 0);
-       assert(system("taskset 0x1 ./urandom_read 100000") == 0);
+       if (QCHECK(system("dd if=/dev/urandom of=/dev/zero count=4 2> 
/dev/null")))
+               goto disable_pmu;
+       if (QCHECK(system("taskset 0x1 ./urandom_read 100000")))
+               goto disable_pmu;
        /* disable stack trace collection */
        key = 0;
        val = 1;
-- 
2.23.0.rc1.153.gdeed80330f-goog

Reply via email to