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
This commit is contained in:
parent
1b8cff9a52
commit
4c8779388f
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user