ANDROID: dm verity fec: pack the fec_header structure

The fec_header structure is generated build time and stored on disk.
The fec_header might be build on a 64 bits machine while it is read
per a 32 bits device or the other way around.  In such situations, the
fec_header fields are not aligned as expected by the device and it
fails to read the fec_header structure.

This patch makes the fec_header packed.

Change-Id: Idb84453e70cc11abd5ef3a0adfbb16f8b5feaf06
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
This commit is contained in:
Jeremy Compostella 2016-05-10 13:10:20 +02:00 committed by Badhri Jagan Sridharan
parent ad2f6cf0be
commit edb97738f2

View file

@ -72,9 +72,6 @@
* if fec is not present
* <data_blocks> <verity_tree> <verity_metdata_32K>
*/
/* TODO: rearrange structure to reduce memory holes
* depends on userspace change.
*/
struct fec_header {
__le32 magic;
__le32 version;
@ -83,7 +80,7 @@ struct fec_header {
__le32 fec_size;
__le64 inp_size;
u8 hash[SHA256_DIGEST_SIZE];
};
} __attribute__((packed));
struct android_metadata_header {
__le32 magic_number;