diff mbox series

[U-Boot,1/1] efi_loader: struct efi_configuration_table

Message ID 20181217230605.28296-1-xypron.glpk@gmx.de
State Accepted
Commit 2859f446b081db62336c32a832af026d37ab00b4
Headers show
Series [U-Boot,1/1] efi_loader: struct efi_configuration_table | expand

Commit Message

Heinrich Schuchardt Dec. 17, 2018, 11:06 p.m. UTC
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>
---
 include/efi_api.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/include/efi_api.h b/include/efi_api.h
index e850b951eb..10bcb5a1df 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)