]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
stream/cache: Return sessions to correct pool
authorJeff Lucovsky <jlucovsky@oisf.net>
Thu, 8 Jun 2023 14:25:30 +0000 (10:25 -0400)
committerVictor Julien <vjulien@oisf.net>
Fri, 9 Jun 2023 08:37:09 +0000 (10:37 +0200)
Issue: 5563

This commit fixes the release of TCP resources. The sessions were being
returned to the segment thread pool instead of the sessions pool.

src/stream-tcp-cache.c

index c5a9e30e473fdee6c6ed161ccce64d6abed1e110..f6a7c12b33b009c8fb7e5d9e236eb1d4614926f2 100644 (file)
@@ -157,19 +157,19 @@ void StreamTcpThreadCacheCleanup(void)
     /* sessions */
     SCLogDebug("tcp_pool_cache.ssns_cache_idx %u", tcp_pool_cache.ssns_cache_idx);
     for (uint32_t i = 0; i < tcp_pool_cache.ssns_cache_idx; i++) {
-        PoolThreadReturn(segment_thread_pool, tcp_pool_cache.ssns_cache[i]);
+        PoolThreadReturn(ssn_pool, tcp_pool_cache.ssns_cache[i]);
     }
     tcp_pool_cache.ssns_cache_idx = 0;
 
     SCLogDebug("tcp_pool_cache.ssns_returns_idx %u", tcp_pool_cache.ssns_returns_idx);
     if (tcp_pool_cache.ssns_returns_idx) {
         PoolThreadId pool_id = tcp_pool_cache.ssns_returns[0]->pool_id;
-        PoolThreadLock(segment_thread_pool, pool_id);
+        PoolThreadLock(ssn_pool, pool_id);
         for (uint32_t i = 0; i < tcp_pool_cache.ssns_returns_idx; i++) {
             TcpSession *ret_ssn = tcp_pool_cache.ssns_returns[i];
-            PoolThreadReturnRaw(segment_thread_pool, pool_id, ret_ssn);
+            PoolThreadReturnRaw(ssn_pool, pool_id, ret_ssn);
         }
-        PoolThreadUnlock(segment_thread_pool, pool_id);
+        PoolThreadUnlock(ssn_pool, pool_id);
         tcp_pool_cache.ssns_returns_idx = 0;
     }