From 22a8db5c0d6c583088fa6aa7460be2a69ad9c223 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Luk=C3=A1=C5=A1=20Ondr=C3=A1=C4=8Dek?= Date: Tue, 1 Oct 2024 15:13:21 +0200 Subject: [PATCH] daemon/mmapped: remove padding from header where used --- daemon/defer.c | 6 +++++- daemon/ratelimiting.c | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/daemon/defer.c b/daemon/defer.c index 1ff523e39..91fb1295b 100644 --- a/daemon/defer.c +++ b/daemon/defer.c @@ -270,7 +270,11 @@ int defer_init(uv_loop_t *loop) for (size_t c = header.capacity - 1; c > 0; c >>= 1) capacity_log++; size_t size = offsetof(struct defer, kru) + KRU.get_size(capacity_log); - size_t header_size = offsetof(struct defer, kru); + size_t header_size = offsetof(struct defer, using_avx2) + sizeof(header.using_avx2); + kr_assert(header_size == + sizeof(header.capacity) + + sizeof(header.max_decay) + + sizeof(header.using_avx2)); // no undefined padding inside int ret = mmapped_init(&defer_mmapped, "defer", size, &header, header_size); if (ret == MMAPPED_WAS_FIRST) { diff --git a/daemon/ratelimiting.c b/daemon/ratelimiting.c index cd15dc8c5..676fde575 100644 --- a/daemon/ratelimiting.c +++ b/daemon/ratelimiting.c @@ -42,7 +42,6 @@ int ratelimiting_init(const char *mmap_file, size_t capacity, uint32_t instant_l for (size_t c = capacity - 1; c > 0; c >>= 1) capacity_log++; size_t size = offsetof(struct ratelimiting, kru) + KRU.get_size(capacity_log); - size_t header_size = offsetof(struct ratelimiting, v4_prices); struct ratelimiting header = { .capacity = capacity, @@ -52,6 +51,14 @@ int ratelimiting_init(const char *mmap_file, size_t capacity, uint32_t instant_l .using_avx2 = using_avx2() }; + size_t header_size = offsetof(struct ratelimiting, using_avx2) + sizeof(header.using_avx2); + kr_assert(header_size == + sizeof(header.capacity) + + sizeof(header.instant_limit) + + sizeof(header.rate_limit) + + sizeof(header.tc_limit) + + sizeof(header.using_avx2)); // no undefined padding inside + int ret = mmapped_init(&ratelimiting_mmapped, mmap_file, size, &header, header_size); if (ret == MMAPPED_WAS_FIRST) { kr_log_info(SYSTEM, "Initializing rate-limiting...\n"); -- 2.47.2