[PATCH v1] mkeficapsule: fix efi_firmware_management_capsule_header data type

AKASHI Takahiro takahiro.akashi at linaro.org
Mon Jun 19 12:45:00 CEST 2023


On Mon, Jun 19, 2023 at 12:37:48PM +0200, Schmidt, Malte wrote:
> Hello Takahiro,
> 
> Am 19.06.2023 um 11:53 schrieb AKASHI Takahiro:
> > On Mon, Jun 19, 2023 at 11:45:49AM +0200, Schmidt, Malte wrote:
> > > Hello Takahir,
> > > 
> > > Am 17.06.2023 um 02:33 schrieb AKASHI Takahiro:
> > > > On Fri, Jun 16, 2023 at 10:28:05AM +0200, Stefan Herbrechtsmeier wrote:
> > > > > From: Malte Schmidt <malte.schmidt at weidmueller.com>
> > > > > 
> > > > > The data type of item_offset_list shall be UINT64 according to the UEFI [1]
> > > > > specifications.
> > > > > 
> > > > > In include/efi_api.h the correct data type is used. The bug was probably
> > > > > never noticed because of little endianness.
> > > > Thank you.
> > > > Just in case, tools/eficapsule.h has the same struct definition
> > > > because I didn't want to include U-Boot's corresponding header
> > > > to avoid including a conflicting header file.
> > > > 
> > > > Please fix it as well.
> > > > 
> > > > -Takahiro Akashi
> > > Which header should I fix additionally? In include/efi_api.h the correct
> > > type is used, so there is nothing to fix.
> > That is tools/eficapsule.h
> > 
> > -Takahiro Akashi
> tools/eficapsule is the file to which my patch applies to. Please have
> another
> look at it. Otherwise, please explain a bit more detailed what your are
> suggesting,
> as I am a bit confused about what your point is.

Right, it's my misunderstanding.

-Takahiro Akashi

> Best Regards
> Malte
> > 
> > > Best Regards
> > > Malte
> > > > > [1] https://uefi.org/specs/UEFI/2.10/index.html
> > > > > 
> > > > > Signed-off-by: Malte Schmidt <malte.schmidt at weidmueller.com>
> > > > > 
> > > > > Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
> > > > > ---
> > > > > 
> > > > >    tools/eficapsule.h | 2 +-
> > > > >    1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/tools/eficapsule.h b/tools/eficapsule.h
> > > > > index 753fb73313..2099a2e9b8 100644
> > > > > --- a/tools/eficapsule.h
> > > > > +++ b/tools/eficapsule.h
> > > > > @@ -63,7 +63,7 @@ struct efi_firmware_management_capsule_header {
> > > > >    	uint32_t version;
> > > > >    	uint16_t embedded_driver_count;
> > > > >    	uint16_t payload_item_count;
> > > > > -	uint32_t item_offset_list[];
> > > > > +	uint64_t item_offset_list[];
> > > > >    } __packed;
> > > > >    /* image_capsule_support */
> > > > > -- 
> > > > > 2.30.2
> > > > > 
> 


More information about the U-Boot mailing list