summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2018-12-18 00:06:05 +0100
committerAlexander Graf <agraf@suse.de>2019-02-13 09:40:05 +0100
commit2859f446b081db62336c32a832af026d37ab00b4 (patch)
tree82575bfce1b3ba97e684400dbf24dfe02dff1f2d
parent4b05fe9c550ba4941e973c1bc389555d73747ed4 (diff)
efi_loader: struct efi_configuration_table
Commit 393fccdf6c73 ("efi_loader: efi_guid_t must be 64-bit aligned") has changed the alignment of efi_guid_t. This changed the size of struct efi_configuration_table on 32-bit systems form 20 to 24 bytes. As an array of this type is pointed to by the system table this breaks compatibility with existing versions of GRUB and Linux. Let's get back the original size by using the attribute __packed. Fixes: 393fccdf6c73 ("efi_loader: efi_guid_t must be 64-bit aligned") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--include/efi_api.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index aef77b6319d..0e5c6e92d0d 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -299,7 +299,7 @@ struct efi_runtime_services {
struct efi_configuration_table {
efi_guid_t guid;
void *table;
-};
+} __packed;
#define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL)