diff --git a/src/allocator.rs b/src/allocator.rs index 9ce4a887..5472e9d4 100644 --- a/src/allocator.rs +++ b/src/allocator.rs @@ -74,11 +74,8 @@ impl Locked { } } +/// Align the given address `addr` upwards to alignment `align`. fn align_up(addr: usize, align: usize) -> usize { - let remainder = addr % align; - if remainder == 0 { - addr // addr already aligned - } else { - addr - remainder + align - } + let offset = (addr as *const u8).align_offset(align); + addr + offset }