aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>2024-03-07 12:29:50 -0500
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>2024-03-07 12:29:50 -0500
commited56a0225e9dd0ee34e0381c09ae74bbd974b7ee (patch)
treec97cc20fdb5014a2c7302fb38d07850ba493e219
parent9649c7ee4b718e31e2a85aad9eee3db0121c64ac (diff)
downloadlibrseq-ed56a0225e9dd0ee34e0381c09ae74bbd974b7ee.tar.gz
Fix destroy_alloc_bitmap size
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Change-Id: Ic53da70a6fbcbbdd87c885d01d80a5ba65befb5a
-rw-r--r--src/rseq-percpu-alloc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/rseq-percpu-alloc.c b/src/rseq-percpu-alloc.c
index 8d0a2a5..1bddaa2 100644
--- a/src/rseq-percpu-alloc.c
+++ b/src/rseq-percpu-alloc.c
@@ -226,13 +226,12 @@ static
void destroy_alloc_bitmap(struct rseq_percpu_pool *pool)
{
unsigned long *bitmap = pool->alloc_bitmap;
- size_t item_len = pool->item_len;
size_t count, total_leaks = 0;
if (!bitmap)
return;
- count = (item_len + BIT_PER_ULONG - 1) / BIT_PER_ULONG;
+ count = ((pool->percpu_len >> pool->item_order) + BIT_PER_ULONG - 1) / BIT_PER_ULONG;
/* Assert that all items in the pool were freed. */
for (size_t k = 0; k < count; ++k)