[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#741235: extra padding in HARDDRIVE_DEVICE_PATH structure breaks UEFI on some systems



Package: efibootmgr
Version: 0.5.4-7
X-Debbugs-CC: debian-boot@lists.debian.org
Tags: patch
Severity: important

In reference to Ubuntu bug #1272664
(https://bugs.launchpad.net/bugs/1272664), efibootmgr adds 6 bytes of
padding to the boot entry. This breaks at lest Hyper-V, possible other
systems as well. Comparing the Debian sources with
https://github.com/vathpela/efibootmgr/blob/master/src/include/efi.h,
shows that the padding is apparently only needed on IA64 architecture.
The attached patch applies this limitation to the Debian source tree.

I ask the maintainer to apply the attached patch and release a new
version. Thanks.
diff --git a/src/include/efi.h b/src/include/efi.h
index be667ae..c2ac853 100644
--- a/src/include/efi.h
+++ b/src/include/efi.h
@@ -294,7 +294,9 @@ typedef struct {
 	uint8_t  signature[16];
 	uint8_t  mbr_type;
 	uint8_t  signature_type;
+#ifdef __ia64
 	uint8_t  padding[6]; /* Emperically needed */
+#endif
 } __attribute__((packed)) HARDDRIVE_DEVICE_PATH;
 
 typedef struct {

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: