diff options
author | Brian Vazquez <brianvv@google.com> | 2019-10-01 13:37:27 -0400 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-10-01 18:56:46 -0400 |
commit | 86c1aea84b97120a6d428ce17a2ebd55be677f56 (patch) | |
tree | add5a2cb302c97d7b4af8b1fd500cb92b1d418b7 /tools/testing/selftests | |
parent | 1bd63524593b964934a33afd442df16b8f90e2b5 (diff) |
selftests/bpf: test_progs: Don't leak server_fd in tcp_rtt
server_fd needs to be closed if pthread can't be created.
Fixes: 8a03222f508b ("selftests/bpf: test_progs: fix client/server race in tcp_rtt")
Signed-off-by: Brian Vazquez <brianvv@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/bpf/20191001173728.149786-2-brianvv@google.com
Diffstat (limited to 'tools/testing/selftests')
-rw-r--r-- | tools/testing/selftests/bpf/prog_tests/tcp_rtt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c b/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c index a82da555b1b0..f4cd60d6fba2 100644 --- a/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c +++ b/tools/testing/selftests/bpf/prog_tests/tcp_rtt.c | |||
@@ -260,13 +260,14 @@ void test_tcp_rtt(void) | |||
260 | 260 | ||
261 | if (CHECK_FAIL(pthread_create(&tid, NULL, server_thread, | 261 | if (CHECK_FAIL(pthread_create(&tid, NULL, server_thread, |
262 | (void *)&server_fd))) | 262 | (void *)&server_fd))) |
263 | goto close_cgroup_fd; | 263 | goto close_server_fd; |
264 | 264 | ||
265 | pthread_mutex_lock(&server_started_mtx); | 265 | pthread_mutex_lock(&server_started_mtx); |
266 | pthread_cond_wait(&server_started, &server_started_mtx); | 266 | pthread_cond_wait(&server_started, &server_started_mtx); |
267 | pthread_mutex_unlock(&server_started_mtx); | 267 | pthread_mutex_unlock(&server_started_mtx); |
268 | 268 | ||
269 | CHECK_FAIL(run_test(cgroup_fd, server_fd)); | 269 | CHECK_FAIL(run_test(cgroup_fd, server_fd)); |
270 | close_server_fd: | ||
270 | close(server_fd); | 271 | close(server_fd); |
271 | close_cgroup_fd: | 272 | close_cgroup_fd: |
272 | close(cgroup_fd); | 273 | close(cgroup_fd); |