summaryrefslogtreecommitdiff
path: root/common/dlmalloc.c
diff options
context:
space:
mode:
authorAndreas Dannenberg <dannenberg@ti.com>2019-03-27 13:17:26 -0500
committerTom Rini <trini@konsulko.com>2019-04-23 17:57:27 -0400
commit4c6be01c2719e78cd7ff257dd65a666623566863 (patch)
treecd1c39373bddbaa2ffed7ef0929e080fec02e744 /common/dlmalloc.c
parent443b3ce5cf00995a12e0dcaab6d4963daefe511e (diff)
downloadu-boot-4c6be01c2719e78cd7ff257dd65a666623566863.tar.gz
u-boot-4c6be01c2719e78cd7ff257dd65a666623566863.tar.bz2
u-boot-4c6be01c2719e78cd7ff257dd65a666623566863.zip
malloc: Fix memalign not honoring alignment prior to full malloc init
When using memalign() in a scenario where U-Boot is configured for full malloc support with simple malloc not explicitly enabled and before the full malloc support is initialized, a memory block is being allocated and returned without the alignment parameter getting honored. Fix this issue by replacing the existing memalign pre-full malloc init logic with a call to memalign_simple() this way ensuring proper alignment of the returned memory block. Fixes: ee038c58d519 ("malloc: Use malloc simple before malloc is fully initialized in memalign()") Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Diffstat (limited to 'common/dlmalloc.c')
-rw-r--r--common/dlmalloc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/common/dlmalloc.c b/common/dlmalloc.c
index edaad299bb..6f12a18d54 100644
--- a/common/dlmalloc.c
+++ b/common/dlmalloc.c
@@ -1893,8 +1893,7 @@ Void_t* mEMALIGn(alignment, bytes) size_t alignment; size_t bytes;
#if CONFIG_VAL(SYS_MALLOC_F_LEN)
if (!(gd->flags & GD_FLG_FULL_MALLOC_INIT)) {
- nb = roundup(bytes, alignment);
- return malloc_simple(nb);
+ return memalign_simple(alignment, bytes);
}
#endif