[PATCH 3/3] bootstd: Fix incorrect struct name in bootmeth_setup_iter_order()

Simon Glass sjg at chromium.org
Wed Jan 15 02:17:41 CET 2025


Hi Heinrich,

On Mon, 13 Jan 2025 at 00:49, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 1/12/25 04:42, Sam Protsenko wrote:
> > There is no such thing as struct bootmeth, it's probably a typo. This
> > issue doesn't affect the execution as it's a pointer, and pointer sizes
> > are the same for all data types. But it can be confusing, so make it
> > struct udevice, as it should be.
> >
> > Fixes: a950d31abe98 ("bootstd: Add the bootmeth uclass and helpers")
> > Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
> > ---
> >   boot/bootmeth-uclass.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/boot/bootmeth-uclass.c b/boot/bootmeth-uclass.c
> > index 049389403191..2496e8c1d8a8 100644
> > --- a/boot/bootmeth-uclass.c
> > +++ b/boot/bootmeth-uclass.c
> > @@ -139,7 +139,7 @@ int bootmeth_setup_iter_order(struct bootflow_iter *iter, bool include_global)
> >                       goto err_order;
> >               }
> >               memcpy(order, std->bootmeth_order,
> > -                    count * sizeof(struct bootmeth *));
> > +                    count * sizeof(struct udevice *));
>
> I found this description of the field:
> @bootmeth_order: List of bootmeth devices to use, in order, NULL-terminated
>
> As the list is NULL terminated, shouldn't we copy the NULL value, i.e.
>
>      (count + 1) * sizeof(struct udevice *)
>
> so that we can still identify the end of the list?
>

Unfortunately that comment is out of date. The bootmeth_count member
holds the count now.

And probably it would be better as an alist now that we have that.

[..]

Regards,
Simom


More information about the U-Boot mailing list