aboutsummaryrefslogtreecommitdiffstats
path: root/src/libutil/mem_pool.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-06-27 11:17:42 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-06-27 11:17:42 +0100
commita5f75e4a3fb4e6562c09799f01d9af6107450e01 (patch)
treea9ce1c11ca8f8bb92eb7e0f3b2f0356ab72ccae5 /src/libutil/mem_pool.c
parentb7dbb7d1c7ca8716996b324e6e16de87c6646d7c (diff)
downloadrspamd-a5f75e4a3fb4e6562c09799f01d9af6107450e01.tar.gz
rspamd-a5f75e4a3fb4e6562c09799f01d9af6107450e01.zip
[Fix] Fix alignment mess
Issue: #2945
Diffstat (limited to 'src/libutil/mem_pool.c')
-rw-r--r--src/libutil/mem_pool.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/libutil/mem_pool.c b/src/libutil/mem_pool.c
index b7ce281c4..c03e7ae2c 100644
--- a/src/libutil/mem_pool.c
+++ b/src/libutil/mem_pool.c
@@ -105,7 +105,7 @@ static gboolean always_malloc = FALSE;
static gsize
pool_chain_free (struct _pool_chain *chain)
{
- gint64 occupied = chain->pos - chain->begin + MEM_ALIGNMENT;
+ gint64 occupied = chain->pos - chain->begin + MIN_MEM_ALIGNMENT;
return (occupied < (gint64)chain->slice_size ?
chain->slice_size - occupied : 0);
@@ -169,7 +169,7 @@ static struct _pool_chain *
rspamd_mempool_chain_new (gsize size, enum rspamd_mempool_chain_type pool_type)
{
struct _pool_chain *chain;
- gsize total_size = size + sizeof (struct _pool_chain) + MEM_ALIGNMENT,
+ gsize total_size = size + sizeof (struct _pool_chain) + MIN_MEM_ALIGNMENT,
optimal_size = 0;
gpointer map;
@@ -235,7 +235,7 @@ rspamd_mempool_chain_new (gsize size, enum rspamd_mempool_chain_type pool_type)
g_atomic_int_inc (&mem_pool_stat->chunks_allocated);
}
- chain->pos = align_ptr (chain->begin, MEM_ALIGNMENT);
+ chain->pos = align_ptr (chain->begin, MIN_MEM_ALIGNMENT);
chain->slice_size = total_size - sizeof (struct _pool_chain);
chain->lock = NULL;
@@ -369,7 +369,7 @@ rspamd_mempool_new_ (gsize size, const gchar *tag, const gchar *loc)
static void *
memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
enum rspamd_mempool_chain_type pool_type)
-RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
static void *
memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
@@ -405,7 +405,7 @@ memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
if (cur == NULL || free < size) {
/* Allocate new chain element */
- if (pool->elt_len >= size + MEM_ALIGNMENT) {
+ if (pool->elt_len >= size + MIN_MEM_ALIGNMENT) {
pool->entry->elts[pool->entry->cur_elts].fragmentation += size;
new = rspamd_mempool_chain_new (pool->elt_len,
pool_type);
@@ -429,7 +429,7 @@ memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
}
/* No need to allocate page */
- tmp = align_ptr (cur->pos, MEM_ALIGNMENT);
+ tmp = align_ptr (cur->pos, MIN_MEM_ALIGNMENT);
cur->pos = tmp + size;
POOL_MTX_UNLOCK ();