fwu_metadata: make sure structures are packed

The fwu metadata in the metadata partitions
should/are packed to guarantee that the info is
correct in all platforms. Also the size of them
are used to calculate the crc32 and that is important
to get it right.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Rui Miguel Silva 2023-06-12 09:09:15 +01:00 committed by Tom Rini
parent acfd0ff3cf
commit 2974e2cd28

View file

@ -6,6 +6,7 @@
#if !defined _FWU_MDATA_H_ #if !defined _FWU_MDATA_H_
#define _FWU_MDATA_H_ #define _FWU_MDATA_H_
#include <linux/compiler_attributes.h>
#include <efi.h> #include <efi.h>
/** /**
@ -22,7 +23,7 @@ struct fwu_image_bank_info {
efi_guid_t image_uuid; efi_guid_t image_uuid;
uint32_t accepted; uint32_t accepted;
uint32_t reserved; uint32_t reserved;
}; } __packed;
/** /**
* struct fwu_image_entry - information for a particular type of image * struct fwu_image_entry - information for a particular type of image
@ -38,7 +39,7 @@ struct fwu_image_entry {
efi_guid_t image_type_uuid; efi_guid_t image_type_uuid;
efi_guid_t location_uuid; efi_guid_t location_uuid;
struct fwu_image_bank_info img_bank_info[CONFIG_FWU_NUM_BANKS]; struct fwu_image_bank_info img_bank_info[CONFIG_FWU_NUM_BANKS];
}; } __packed;
/** /**
* struct fwu_mdata - FWU metadata structure for multi-bank updates * struct fwu_mdata - FWU metadata structure for multi-bank updates
@ -62,6 +63,6 @@ struct fwu_mdata {
uint32_t previous_active_index; uint32_t previous_active_index;
struct fwu_image_entry img_entry[CONFIG_FWU_NUM_IMAGES_PER_BANK]; struct fwu_image_entry img_entry[CONFIG_FWU_NUM_IMAGES_PER_BANK];
}; } __packed;
#endif /* _FWU_MDATA_H_ */ #endif /* _FWU_MDATA_H_ */