[dpdk-stable] [PATCH 20.11] net/ark: fix leak on thread termination

David Marchand david.marchand at redhat.com
Tue Jun 15 14:22:11 CEST 2021


[ upstream commit b8b5dc6b9596a07cbeed03192b41a4befb75acc6 ]

A terminated pthread should be joined or detached so that its associated
resources are released.

The "ark-delay-pg" thread is just used to delay some task but it is never
joined by the thread that created it.
The easiest solution is to detach the new thread.

Fixes: 727b3fe292bc ("net/ark: integrate PMD")

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 drivers/net/ark/ark_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index 0156eeb66e..c307880ec1 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -2,6 +2,7 @@
  * Copyright (c) 2015-2018 Atomic Rules LLC
  */
 
+#include <pthread.h>
 #include <unistd.h>
 #include <sys/stat.h>
 #include <dlfcn.h>
@@ -585,6 +586,7 @@ delay_pg_start(void *arg)
 	 * perform a blind sleep here to ensure that the external test
 	 * application has time to setup the test before we generate packets
 	 */
+	pthread_detach(pthread_self());
 	usleep(100000);
 	ark_pktgen_run(ark->pg);
 	return NULL;
-- 
2.23.0



More information about the stable mailing list