diff options
| author | Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com> | 2025-10-31 09:04:43 +0100 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2025-10-31 09:24:38 -0700 |
| commit | f477b0fd75f5e83ceccc166bf53a22641adeb853 (patch) | |
| tree | 76a3243a30cc8bc5dd428de523aeb1ec7487f665 | |
| parent | e3dfa0faf1f7f4a1fbead808fdc67f276b8a4b50 (diff) | |
selftests/bpf: test_xsk: Release resources when swap fails
testapp_validate_traffic() doesn't release the sockets and the umem
created by the threads if the test isn't currently in its last step.
Thus, if the swap_xsk_resources() fails before the last step, the
created resources aren't cleaned up.
Clean the sockets and the umem in case of swap_xsk_resources() failure.
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com>
Link: https://lore.kernel.org/r/20251031-xsk-v7-7-39fe486593a3@bootlin.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
| -rw-r--r-- | tools/testing/selftests/bpf/test_xsk.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/test_xsk.c b/tools/testing/selftests/bpf/test_xsk.c index 84b724731e26..8fe75845d7a6 100644 --- a/tools/testing/selftests/bpf/test_xsk.c +++ b/tools/testing/selftests/bpf/test_xsk.c @@ -1866,8 +1866,13 @@ int testapp_xdp_prog_cleanup(struct test_spec *test) if (testapp_validate_traffic(test)) return TEST_FAILURE; - if (swap_xsk_resources(test)) + if (swap_xsk_resources(test)) { + clean_sockets(test, test->ifobj_rx); + clean_sockets(test, test->ifobj_tx); + clean_umem(test, test->ifobj_rx, test->ifobj_tx); return TEST_FAILURE; + } + return testapp_validate_traffic(test); } |
