From 41128a33873864de4fca1117c4152b503d529a78 Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Tue, 31 May 2022 15:28:40 +0100 Subject: [PATCH] NFC: additional generalization for CHERI --- src/snmalloc/backend/backend.h | 5 ++--- src/snmalloc/backend_helpers/range_helpers.h | 7 +++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/snmalloc/backend/backend.h b/src/snmalloc/backend/backend.h index 1463fa9..5db5841 100644 --- a/src/snmalloc/backend/backend.h +++ b/src/snmalloc/backend/backend.h @@ -97,14 +97,13 @@ namespace snmalloc #ifdef SNMALLOC_TRACING message<1024>("Out of memory"); #endif - return {p, nullptr}; + return {nullptr, nullptr}; } typename Pagemap::Entry t(meta, ras); Pagemap::set_metaentry(address_cast(p), size, t); - p = Aal::capptr_bound(p, size); - return {p, meta}; + return {Aal::capptr_bound(p, size), meta}; } /** diff --git a/src/snmalloc/backend_helpers/range_helpers.h b/src/snmalloc/backend_helpers/range_helpers.h index 90ee847..454cba0 100644 --- a/src/snmalloc/backend_helpers/range_helpers.h +++ b/src/snmalloc/backend_helpers/range_helpers.h @@ -4,8 +4,11 @@ namespace snmalloc { - template - void range_to_pow_2_blocks(capptr::Chunk base, size_t length, F f) + template< + size_t MIN_BITS, + SNMALLOC_CONCEPT(capptr::ConceptBound) B, + typename F> + void range_to_pow_2_blocks(CapPtr base, size_t length, F f) { auto end = pointer_offset(base, length); base = pointer_align_up(base, bits::one_at_bit(MIN_BITS));