ASAN reported a "joining already joined thread" error. The release_child() may be called multiple times for the same struct child. Fix with a memset(0) call at the end of release_child(). Acked-by: Mykyta Yatsenko Acked-by: Jiri Olsa Signed-off-by: Ihor Solodrai --- tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c b/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c index 2ee17ef1dae2..be6ff1d4a75b 100644 --- a/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c +++ b/tools/testing/selftests/bpf/prog_tests/uprobe_multi_test.c @@ -68,6 +68,7 @@ static void release_child(struct child *child) close(child->c2p[1]); if (child->pid > 0) waitpid(child->pid, &child_status, 0); + memset(child, 0, sizeof(*child)); } static void kick_child(struct child *child) -- 2.53.0