From: Feng Yang <[email protected]>

pthread_create returns 0 on success and a positive error code on failure;
it never returns a negative value. The current conditional branch can never be 
taken.
Failures during thread creation are silently ignored, which will lead to
invalid memory access when waiting on threads or dereferencing thread handles 
later.

Fixes: 91b2c0afd00c ("selftests/bpf: Add parallelism to test_progs")
Signed-off-by: Feng Yang <[email protected]>
---
 tools/testing/selftests/bpf/test_progs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/bpf/test_progs.c 
b/tools/testing/selftests/bpf/test_progs.c
index 1d3caf996971..312743c4337f 100644
--- a/tools/testing/selftests/bpf/test_progs.c
+++ b/tools/testing/selftests/bpf/test_progs.c
@@ -1741,7 +1741,7 @@ static void server_main(void)
                data[i].worker_id = i;
                data[i].sock_fd = env.worker_socks[i];
                rc = pthread_create(&dispatcher_threads[i], NULL, 
dispatch_thread, &data[i]);
-               if (rc < 0) {
+               if (rc) {
                        perror("Failed to launch dispatcher thread");
                        exit(EXIT_ERR_SETUP_INFRA);
                }
-- 
2.43.0


Reply via email to