selftests/bpf: Fix potential unreleased lock
authorChengfeng Ye <cyeaa@connect.ust.hk>
Fri, 27 Aug 2021 07:41:40 +0000 (00:41 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 27 Aug 2021 16:45:59 +0000 (09:45 -0700)
This lock is not released if the program
return at the patched branch.

Signed-off-by: Chengfeng Ye <cyeaa@connect.ust.hk>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210827074140.118671-1-cyeaa@connect.ust.hk
tools/testing/selftests/bpf/prog_tests/sockopt_inherit.c

index ec281b0..86f9768 100644 (file)
@@ -195,8 +195,10 @@ static void run_test(int cgroup_fd)
 
        pthread_mutex_lock(&server_started_mtx);
        if (CHECK_FAIL(pthread_create(&tid, NULL, server_thread,
-                                     (void *)&server_fd)))
+                                     (void *)&server_fd))) {
+               pthread_mutex_unlock(&server_started_mtx);
                goto close_server_fd;
+       }
        pthread_cond_wait(&server_started, &server_started_mtx);
        pthread_mutex_unlock(&server_started_mtx);