From: Benjamin ROBIN Date: Tue, 20 May 2025 20:35:15 +0000 (+0200) Subject: bootm: Fix bmi->images pointer not initialized in some cases X-Git-Tag: v2025.07-rc4~18 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8f282b8e0ee1e2c36694071c26b6b796f50c0a1;p=pandora-u-boot.git 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 --- 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; } /**