[PATCH v2] image-board: fix wrong implementation ram disk address setup from cmdline

Art Nikpal email2tema at gmail.com
Sun Jan 23 04:32:45 CET 2022


On Tue, Jan 18, 2022 at 3:47 AM Tom Rini <trini at konsulko.com> wrote:
>
> On Thu, Nov 25, 2021 at 11:08:59AM +0800, Artem Lapkin wrote:
>
> > Problem
> >
> > Wrong implementation logic: ramdisk cmdline image address always ignored!
> > Next block { rd_addr = hextoul(select, NULL) } unusable for raw initrd.
> >
> > We have unbootable raw initrd images because, select_ramdisk for raw
> > initrd images ignore submited select addr and setup rd_datap value to 0
> >
> > Signed-off-by: Artem Lapkin <art at khadas.com>
> > Reviewed-by: Simon Glass <sjg at chromium.org>
> > ---
> > V2 changes
> > _ rebase to master
> > _ from https://patchwork.ozlabs.org/project/uboot/patch/20211016051915.4157293-1-art@khadas.com/
> > ---
> >  boot/image-board.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/boot/image-board.c b/boot/image-board.c
> > index bf8817165c..87a8f07432 100644
> > --- a/boot/image-board.c
> > +++ b/boot/image-board.c
> > @@ -334,7 +334,7 @@ static int select_ramdisk(bootm_headers_t *images, const char *select, u8 arch,
> >
> >       if (select) {
> >               ulong default_addr;
> > -             bool done = true;
> > +             bool done = false;
> >
> >               if (CONFIG_IS_ENABLED(FIT)) {
> >                       /*
> > @@ -352,13 +352,13 @@ static int select_ramdisk(bootm_headers_t *images, const char *select, u8 arch,
> >                                          &fit_uname_config)) {
> >                               debug("*  ramdisk: config '%s' from image at 0x%08lx\n",
> >                                     fit_uname_config, rd_addr);
> > +                             done = true;
> >                       } else if (fit_parse_subimage(select, default_addr,
> >                                                     &rd_addr,
> >                                                     &fit_uname_ramdisk)) {
> >                               debug("*  ramdisk: subimage '%s' from image at 0x%08lx\n",
> >                                     fit_uname_ramdisk, rd_addr);
> > -                     } else {
> > -                             done = false;
> > +                             done = true;
> >                       }
> >               }
> >               if (!done) {
>
> I think we still need this?  Can you please confirm and if so rebase to
> master again, sorry, thanks!

i have check master which have new commit
621158d106fe53fbb2d786d9d19dff44ad1baf91

no need for this state !!

Author: Tom Rini <trini at konsulko.com>
Date:   Mon Dec 20 09:36:32 2021 -0500

    Revert "image: Remove #ifdefs from select_ramdisk()"

    This reverts commit f33a2c1bd0fb371511a485cac1f182ba50db51be.

    This causes a crash on some platforms as seen here:
    https://lore.kernel.org/r/f153017b-c41a-0d32-67b9-f288e695f900@baylibre.com/

    Reported-by: Neil Armstrong <narmstrong at baylibre.com>
    Signed-off-by: Tom Rini <trini at konsulko.com>

PS: about crash problem maybe its same reason may be need try apply my
patch and no need reverts commit
f33a2c1bd0fb371511a485cac1f182ba50db51be.
>
> --
> Tom


More information about the U-Boot mailing list