Hi Tom, On Fri, 23 May 2025 at 08:08, Tom Rini <[email protected]> wrote: > > On Fri, May 23, 2025 at 02:48:15PM +0100, Simon Glass wrote: > > Hi Benjamin, > > > > On Tue, 20 May 2025 at 22:35, Benjamin ROBIN <[email protected]> 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". > > > > > > 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 <[email protected]> > > > --- > > > boot/bootm.c | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > diff --git a/boot/bootm.c b/boot/bootm.c > > > index f6aa32746b7e..108ca7fb472e 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; > > > > In my tree I have: > > > > if (IS_ENABLED(CONFIG_CMD_BOOTM) || IS_ENABLED(CONFIG_CMD_BOOTZ) || > > IS_ENABLED(CONFIG_CMD_BOOTI) || IS_ENABLED(CONFIG_PXE_UTILS)) > > > > but it seems that the few boards that didn't include boot/bootm.c have > > been dropped, so your patch is fine. > > Yes, looking at the code, we should have always been doing the > assignment as there's a few places where we reference bmi->images and > not the global images, FYI.
My intent is to eventually drop the global, but that is a ways off. Regards, Simon

