From 932dd19cc3dd959b1937e90651a0fb3d7b46aa7c Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 15 Apr 2021 17:31:19 +0200 Subject: [PATCH] BUG/MINOR: pools: maintain consistent ->allocated count on alloc failures When running with CONFIG_HAP_NO_GLOBAL_POOLS, it's theoritically possible to keep an incorrect count of allocated entries in a pool because the allocated counter was used as a cumulated counter of alloc calls instead of a number of currently allocated items (it's possible the meaning has changed over time). The only impact in this mode essentially is that "show pools" will report incorrect values. But this would only happen on limited pools, which is not even certain still exist. This was added by recent commit 0bae07592 ("MEDIUM: pools: add CONFIG_HAP_NO_GLOBAL_POOLS and CONFIG_HAP_GLOBAL_POOLS") so no backport is needed. --- src/pool.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pool.c b/src/pool.c index 3bcecd61df..0227f36690 100644 --- a/src/pool.c +++ b/src/pool.c @@ -181,7 +181,6 @@ void *__pool_refill_alloc(struct pool_head *pool, unsigned int avail) void *ptr = NULL; if (limit && allocated >= limit) { - _HA_ATOMIC_INC(&pool->allocated); activity[tid].pool_fail++; return NULL; } -- 2.47.2