[RFC 04/14] efi_loader: correct a definition of struct efi_capsule_header

Heinrich Schuchardt
2020-03-17T07:25:12Z

On 3/17/20 3:12 AM, AKASHI Takahiro wrote:
> See UEFI specification, section 8.5.3.
> In addition, the structure, efi_capsule_header, should be "packed"
> as it is a serialized binary format in a capsule file.
>
> Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>

Fixes: 0c2307431e6e ("efi_loader: add missing runtime services stubs")
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

> ---
> include/efi_api.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/efi_api.h b/include/efi_api.h
> index a99cc7acc475..4040c44855fa 100644
> --- a/include/efi_api.h
> +++ b/include/efi_api.h
> @@ -218,11 +218,11 @@ enum efi_reset_type {
> #define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
>
> struct efi_capsule_header {
> - efi_guid_t *capsule_guid;
> + efi_guid_t capsule_guid;
> u32 header_size;
> u32 flags;
> u32 capsule_image_size;
> -};
> +} __packed;
>
> #define EFI_RT_SUPPORTED_GET_TIME 0x0001
> #define EFI_RT_SUPPORTED_SET_TIME 0x0002
>