From 3ef9b09620c3c3360498098fad5a33b765767ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Fri, 21 Mar 2025 09:29:17 +0100 Subject: [PATCH] Fix invalid cache-line padding for qpcache buckets The isc_queue_t was missing in the calculation of the required padding size inside the qpcache bucket structure. --- lib/dns/qpcache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dns/qpcache.c b/lib/dns/qpcache.c index 5ec6bc66db..44339525a1 100644 --- a/lib/dns/qpcache.c +++ b/lib/dns/qpcache.c @@ -238,8 +238,8 @@ typedef struct qpcache_bucket { /* Padding to prevent false sharing between locks. */ uint8_t __padding[ISC_OS_CACHELINE_SIZE - - (sizeof(dns_slabheaderlist_t) + sizeof(isc_heap_t *) + - sizeof(isc_rwlock_t)) % + (sizeof(isc_queue_t) + sizeof(isc_rwlock_t) + + sizeof(dns_slabheaderlist_t) + sizeof(isc_heap_t *)) % ISC_OS_CACHELINE_SIZE]; } qpcache_bucket_t;