Skip to content

Commit 26242df

Browse files
committed
Fix aligning in file_mmap_aligned()
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent 2e0a153 commit 26242df

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/provider/provider_file_memory.c

+6-2
Original file line numberDiff line numberDiff line change
@@ -404,8 +404,12 @@ static umf_result_t file_mmap_aligned(file_memory_provider_t *file_provider,
404404
"inserted a value to the map of memory mapping (addr=%p, size=%zu)",
405405
ptr, extended_size);
406406

407-
file_provider->base_mmap = ptr;
408-
file_provider->size_mmap = extended_size;
407+
// align the new pointer
408+
uintptr_t aligned_ptr = ALIGN_UP_SAFE((uintptr_t)ptr, alignment);
409+
size_t aligned_size = extended_size - (aligned_ptr - (uintptr_t)ptr);
410+
411+
file_provider->base_mmap = (void *)aligned_ptr;
412+
file_provider->size_mmap = aligned_size;
409413
file_provider->offset_mmap = 0;
410414

411415
return UMF_RESULT_SUCCESS;

0 commit comments

Comments
 (0)