On 6/16/23 10:28, Stefan Herbrechtsmeier wrote:
From: Malte Schmidt <[email protected]>

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.

[1] https://uefi.org/specs/UEFI/2.10/index.html

Signed-off-by: Malte Schmidt <[email protected]>

Signed-off-by: Stefan Herbrechtsmeier <[email protected]>
---

  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[];

Defining the same structure in two places it bad practice.
https://source.denx.de/u-boot/custodians/u-boot-efi/-/issues/11

Reviewed-by: Heinrich Schuchardt <[email protected]>

  } __packed;

  /* image_capsule_support */

Reply via email to