From 42c33ebfb3e0b29722c034b4c1e84c0a9add9a06 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 7 Mar 2023 18:50:26 +0200 Subject: [PATCH] Kernel: kmalloc aligns size to s_kmalloc_min_align We don't get unaligned memory anymore from kmalloc --- kernel/kernel/kmalloc.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/kernel/kmalloc.cpp b/kernel/kernel/kmalloc.cpp index c24a1a91..ba52e345 100644 --- a/kernel/kernel/kmalloc.cpp +++ b/kernel/kernel/kmalloc.cpp @@ -236,6 +236,7 @@ static void* kmalloc_impl(size_t size, size_t align) Kernel::LockGuard guard(s_general_lock); ASSERT(align % s_kmalloc_min_align == 0); + ASSERT(size % s_kmalloc_min_align == 0); auto& info = s_kmalloc_info; @@ -320,6 +321,8 @@ void* kmalloc(size_t size, size_t align) if (void* result = kmalloc_fixed()) return result; + if (ptrdiff_t rem = size % s_kmalloc_min_align) + size += s_kmalloc_min_align - rem; return kmalloc_impl(size, align); }