@@ -1931,12 +1931,12 @@ static int __testapp_validate_traffic(struct test_spec *test, struct ifobject *i
err = test_spec_set_mtu(test, test->mtu);
if (err) {
print_msg("Error, could not set mtu.\n");
- exit_with_error(err);
+ return TEST_FAILURE;
}
if (ifobj2) {
if (pthread_barrier_init(&barr, NULL, 2))
- exit_with_error(errno);
+ return TEST_FAILURE;
pkt_stream_reset(ifobj2->xsk->pkt_stream);
}
@@ -1951,7 +1951,7 @@ static int __testapp_validate_traffic(struct test_spec *test, struct ifobject *i
if (ifobj2) {
pthread_barrier_wait(&barr);
if (pthread_barrier_destroy(&barr))
- exit_with_error(errno);
+ return TEST_FAILURE;
/*Spawn TX thread */
pthread_create(&t1, NULL, ifobj2->func_ptr, test);
__testapp_validate_traffic() calls exit_on_error() on failures. This exits the program immediately and can lead to memory leaks. Return TEST_FAILURE instead of calling exit_on_error(). Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com> --- tools/testing/selftests/bpf/xskxceiver.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)