[PATCH] fixup! tlsf: Add tracking of added tlsf memory pools

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Apr 10 03:46:25 PDT 2025


tlsf: fix KASAN poisoning of TLSF pool

By poisoning all of the heap after the first malloc, new_pool_entry
becomes a pointer to poisoned memory, which causes a KASAN error right
away at startup.

Move the kasan_poison_shadow call directly after tlsf_add_pool to
fix this.

Cc: David Dgien <dgienda125 at gmail.com>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 common/tlsf_malloc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/tlsf_malloc.c b/common/tlsf_malloc.c
index 4acf1c1c5071..6e9d48af26bb 100644
--- a/common/tlsf_malloc.c
+++ b/common/tlsf_malloc.c
@@ -115,12 +115,12 @@ void *malloc_add_pool(void *mem, size_t bytes)
 	if (!new_pool)
 		return NULL;
 
+	kasan_poison_shadow(mem, bytes, KASAN_TAG_INVALID);
+
 	new_pool_entry = malloc(sizeof(*new_pool_entry));
 	if (!new_pool_entry)
 		return NULL;
 
-	kasan_poison_shadow(mem, bytes, KASAN_TAG_INVALID);
-
 	new_pool_entry->pool = new_pool;
 	list_add(&new_pool_entry->list, &mem_pool_list);
 
-- 
2.39.5




More information about the barebox mailing list