From b8f282b8e0ee1e2c36694071c26b6b796f50c0a1 Mon Sep 17 00:00:00 2001 From: Benjamin ROBIN Date: Tue, 20 May 2025 22:35:15 +0200 Subject: [PATCH] bootm: Fix bmi->images pointer not initialized in some cases When building with only bootz command, without bootm, images pointer inside bootm_info structure is not initialized. And since this structure is stored in stack, the generated error is kind of random, but most of the time this will generate: "ramdisk - allocation error". Also, after analysis, this problem could occur with the command booti, if the command bootm is disabled. Currently bootm_init() is called by: do_bootz(), do_bootm(), do_booti() and by do_stm32prog(). And all of these commands execute bootm_run_states() which access the images pointer stored into bootm_info structure. So, to fix this issue, just do the assignment unconditionally. Fixes: c2211ff65136 ("bootm: Add more fields to bootm_info") Signed-off-by: Benjamin ROBIN Reviewed-by: Tom Rini --- boot/bootm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/boot/bootm.c b/boot/bootm.c index f6aa32746b7..108ca7fb472 100644 --- a/boot/bootm.c +++ b/boot/bootm.c @@ -1169,8 +1169,7 @@ void bootm_init(struct bootm_info *bmi) { memset(bmi, '\0', sizeof(struct bootm_info)); bmi->boot_progress = true; - if (IS_ENABLED(CONFIG_CMD_BOOTM)) - bmi->images = &images; + bmi->images = &images; } /** -- 2.47.2