[PATCH v10 03/15] FWU: Add FWU metadata access driver for GPT partitioned block devices

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Sep 27 13:57:02 CEST 2022


Hey Etiennem

[...]
> > > > +                                 uint *secondary_mpart)
> > > > +{
> > > > +     int i, ret;
> > > > +     u32 mdata_parts;
> > > > +     efi_guid_t part_type_guid;
> > > > +     struct disk_partition info;
> > > > +     const efi_guid_t fwu_mdata_guid = FWU_MDATA_GUID;
> > > > +
> > > > +     mdata_parts = 0;
> > > > +     for (i = 1; i < MAX_SEARCH_PARTITIONS; i++) {
> > > > +             if (part_get_info(desc, i, &info))
> > > > +                     continue;
> > > > +             uuid_str_to_bin(info.type_guid, part_type_guid.b,
> > > > +                             UUID_STR_FORMAT_GUID);
> > > > +
> > > > +             if (!guidcmp(&fwu_mdata_guid, &part_type_guid)) {
> > > > +                     ++mdata_parts;
> > > > +                     if (!*primary_mpart)
> > > > +                             *primary_mpart = i;
> > > > +                     else
> > > > +                             *secondary_mpart = i;
> > > > +             }
> > > > +     }
> > > > +
> > > > +     if (mdata_parts != 2) {
> > > > +             log_debug("Expect two copies of the FWU metadata instead of %d\n",
> > > > +                       mdata_parts);
> > > > +             ret = -EINVAL;
> > > > +     } else {
> > > > +             ret = 0;
> > > > +     }
> > >
> > > Can we change that a bit?  There are are some assumptions in this code, e.g
> > > the user must pass the values zero'ed out.  Can we instead get an array of
> 
> I don't agree. If the function returns an error code, caller shall not
> use the output content.
> That is what callers of gpt_get_mdata_partitions() do in this patch,
> so returning -EINVAL if fine.
> (note that I don't mind this gets an array ref rather than 2 pointers).

Ah true. In any case I still think we should change to an array,  imho it
would be much easier to read

> 
> best regards,
> etienne
> 
> > > 2 instead?  In that case you don't care if any of the values are zero and
> > > you can just fill in the array.  Something like:
> >
> > Okay, will make use of the array as you suggest.
> >
> > >

[...]

Regards
/Ilias


More information about the U-Boot mailing list