[PATCH v1] mkeficapsule: fix efi_firmware_management_capsule_header data type

Schmidt, Malte malte.schmidt-oss at weidmueller.com
Mon Jun 19 12:37:48 CEST 2023


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.

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