[compiler-rt] 4c87793 - sanitizer_allocator.cpp: Ensure at least sizeof(void*) alignment
via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 24 14:09:08 PDT 2024
Author: Alexander Richardson
Date: 2024-10-24T14:09:05-07:00
New Revision: 4c8779388fd2f25730a1b044f9f10d6717833fce
URL: https://github.com/llvm/llvm-project/commit/4c8779388fd2f25730a1b044f9f10d6717833fce
DIFF: https://github.com/llvm/llvm-project/commit/4c8779388fd2f25730a1b044f9f10d6717833fce.diff
LOG: sanitizer_allocator.cpp: Ensure at least sizeof(void*) alignment
Some platforms (e.g. 64-bit CHERI) have stronger alignment requirements
on values returned from allocators. For all other platforms this does
not result in any functional change.
Reviewed By: cjappl, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/84440
Added:
Modified:
compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
index 1d5058c81acbcd..9d899371c2dd90 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
@@ -59,7 +59,7 @@ static void *RawInternalAlloc(uptr size, InternalAllocatorCache *cache,
static void *RawInternalRealloc(void *ptr, uptr size,
InternalAllocatorCache *cache) {
- uptr alignment = 8;
+ constexpr usize alignment = Max<usize>(8, sizeof(void *));
if (cache == 0) {
SpinMutexLock l(&internal_allocator_cache_mu);
return internal_allocator()->Reallocate(&internal_allocator_cache, ptr,
@@ -137,7 +137,8 @@ void InternalAllocatorUnlock() SANITIZER_NO_THREAD_SAFETY_ANALYSIS {
}
// LowLevelAllocator
-constexpr uptr kLowLevelAllocatorDefaultAlignment = 8;
+constexpr usize kLowLevelAllocatorDefaultAlignment =
+ Max<usize>(8, sizeof(void *));
constexpr uptr kMinNumPagesRounded = 16;
constexpr uptr kMinRoundedSize = 65536;
static uptr low_level_alloc_min_alignment = kLowLevelAllocatorDefaultAlignment;
More information about the llvm-commits
mailing list