[PATCH 3/4] bootm: delete initrd reserve entry on bootm_boot return

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Jan 21 03:36:48 PST 2026


Repeating dry runs with an initrd will eventually lead to exhausting the
reserve memory entries as OF_MAX_RESERVE_MAP is only 16.

Make sure to clean up after ourselves if bootm_boot returns without
actually booting.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 common/bootm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/common/bootm.c b/common/bootm.c
index e3bd2eecb0cc..c554fa9e4015 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -1247,6 +1247,8 @@ int bootm_boot(struct bootm_data *bootm_data)
 err_out:
 	bootm_reset_overrides();
 	release_sdram_region(data->os_res);
+	if (data->initrd_res)
+		of_del_reserve_entry(data->initrd_res->start, data->initrd_res->end);
 	release_sdram_region(data->initrd_res);
 	release_sdram_region(data->oftree_res);
 	release_sdram_region(data->tee_res);
-- 
2.47.3




More information about the barebox mailing list