On Mon, May 19, 2025 at 09:48:00PM +0200, Benjamin ROBIN wrote: > 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" > > Signed-off-by: Benjamin ROBIN <d...@benjarobin.fr> > --- > boot/bootm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/boot/bootm.c b/boot/bootm.c > index f6aa32746b7e..f6fddc151809 100644 > --- a/boot/bootm.c > +++ b/boot/bootm.c > @@ -1169,7 +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)) > + if (IS_ENABLED(CONFIG_CMD_BOOTM) || IS_ENABLED(CONFIG_CMD_BOOTZ)) > bmi->images = &images; > }
Good catch. This should also get a: Fixes: c2211ff65136 ("bootm: Add more fields to bootm_info") And after reading the code and grepping around more, I think we should be doing the assignment unconditionally in the function. It's what we practically do today as only colibri_vf disables CMD_BOOTM but then also enables any other OS boot command. -- Tom
signature.asc
Description: PGP signature